Questa macro copia le righe aggiunte del foglio Dati nel foglio Calcolo.
Copia solo valori.
Come detto precedentemente, a mio avvio, conviene non sfruttare eventi nel foglio Dati ma sarebbe opportuno richiamare questa macro subito dopo quella che ti aggiorna i il foglio Dati.
Sub CopiaCalcolo()
Dim shOrigine As Worksheet
Dim shDestinazione As Worksheet
Dim lRigaOrigine As Long
Dim lRigaDestinazione As Long
Dim lColonna As Long
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
With ThisWorkbook
Set shOrigine = .Worksheets("Dati")
Set shDestinazione = .Worksheets("Calcolo")
End With
With shOrigine
lRigaOrigine = .Cells(shOrigine.Rows.Count, 1).End(xlUp).Row
lColonna = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
lRigaDestinazione = shDestinazione.Cells(shDestinazione.Rows.Count, 1).End(xlUp).Row
If lRigaDestinazione = 1 Then lRigaDestinazione = 0
If lRigaOrigine > lRigaDestinazione Then
With shOrigine
.Range(.Cells(lRigaDestinazione + 1, 1), .Cells(lRigaOrigine, lColonna)).Copy
shDestinazione.Cells(lRigaDestinazione + 1, 1).PasteSpecial _
Paste:=xlPasteValues, _
SkipBlanks:=False
End With
End If
With Application
.ScreenUpdating = True
.CutCopyMode = False
.Calculation = xlCalculationAutomatic
End With
Set shOrigine = Nothing
Set shDestinazione = Nothing
End Sub
David