Buonasera ho seguito i vostri suggerimenti e sono riuscito ad adattare del codice che riesce a compiere quasi del tutto l'operazione di cui ho bisogno.
Riporto il codice di seguito:
Sub Registra()
'Registra articoliMacro
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim sh3 As Worksheet
Dim r1 As Long
Dim r2 As Long
Dim fg As String
Set sh1 = Worksheets("Foglio1")
Set sh2 = Worksheets("Foglio2")
Set sh3 = Worksheets("fg")
Application.ScreenUpdating = False
r1 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
r2 = sh3.Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A9:I23").Copy
sh2.Activate
Range("A" & r1).Select
ActiveSheet.Paste
sh3.Activate
Range("A" & r2).Select
ActiveSheet.Paste
sh1.Activate
Application.CutCopyMode = False
Application.ScreenUpdating = True
Range("A9:A23").Select
Selection.ClearContents
Cells(2, 1).Select
End Sub
Quello che non riesco a fare e che questa macro trasferisce nel foglio2 l'intero range A9:I23, detto range non sempre è utilizzato per intero, io vorrei trasferire le sole celle utilizzate (per esempio se il range è utilizzato solo fino alla cella I12, il range da trasferire ed accodare alla prima riga libera del foglio2 fosse l'A9:I12).
Grazie anticipatamente