Ciao Vanessa
Intanto un caro saluto a Berna11.
Se posso permettermi ti proporrei una soluzione diversa con una macro che vedi qui
vb
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
Dim ur As Long
Dim pax As Range
Dim cel As Range
ur = Worksheets("Preventivo").Cells(Rows.Count, 1).End(xlUp).Row
Set pax = Worksheets("Preventivo").Range("a2:a100")
If Target.Value = "" Then Exit Sub
If Not Intersect(Target, Range("d4:d50")) Is Nothing Then
Range("a" & Target.Row & ":" & "c" & Target.Row + 4).Copy Destination:=Worksheets("Preventivo").Range("a" & ur + 1)
End If
For Each cel In pax
If cel.Value = "PAX" Then
cel.ClearContents
End If
Next cel
10:
End Sub
Al momento funziona così: se in colonna D in corrispondenza della riga dell'evento metti una X ti verrà copiato l'intero blocco sul foglio Preventivo.
Se questa soluzione può essere di tuo interesse possiamo approfondire anche perché a mio avviso ci sono degli aggiustamenti da fare.
Ti allego il file.