Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Rugantino,
Grazie innanzitutto per la tempestività.
Prego!
Riguardo alla prima domanda, è già prevista una seconda pagina della fattura nel caso (molto raro) avessi da inserire altri prodotti.
Per quanto riguardo la seconda domanda, agendo sulle impostazioni di stampa (adattamento alla pagina – 1 pagina) che ho già provato, il risultato non è del tutto sodisfacente.
Per cui ho optato sulla possibilità di eliminare, man mano che una cella aumenti in altezza, la riga 39 poi 38, 37, 36 e così via, per poi, se necessario, passare alla seconda pagina della fattura per inserire altri prodotti.
Bene, sul presupposto che i pericoli previsti da me siano solo il frutto della mia immaginazione e, quindi, facendo precisamnente quello richiesto da te, nel modulo di codice del foglio FatturaSing, sostituisci il tuo codice con la seguente versione:
'=========>>
Option Explicit
'--------->>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NewRwHt As Double
Dim cWdth As Double, MrgeWdth As Double
Dim rCell As Range, cc As Range
Dim ma As Range
Dim Rng As Range
Dim oldRowHeight As Double
Set Rng = Intersect(Me.Columns("E"), Target)
If Not Rng Is Nothing Then
On Error GoTo XIT
Me.Unprotect 'Password:="rugantino"
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
For Each rCell In Rng.Cells
With rCell
If .MergeCells And .WrapText Then
cWdth = .ColumnWidth
Set ma = .MergeArea
With ma
For Each cc In .Cells
MrgeWdth = MrgeWdth + cc.ColumnWidth
Next ma
.MergeCells = False
End With
.ColumnWidth = MrgeWdth
oldRowHeight = .RowHeight
.EntireRow.AutoFit
NewRwHt = .RowHeight
.ColumnWidth = cWdth
If NewRwHt > oldRowHeight Then
If .EntireRow.Cells(2, "P") <> "TOTALI" Then
.Offset(1).EntireRow.Delete
End If
End If
With ma
.MergeCells = True
.RowHeight = NewRwHt
End With
cWdth = 0: MrgeWdth = 0
End If
End With
Next rCell
End If
XIT:
Me.Protect 'Password:="rugantino"
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
'<<=========
Potresti scaricare il mio file di prova Rugantino20180415.xlsm
===
Regards,
Norman