Sub CompilaTabella()
Dim Scheda As Worksheet
Dim Targa As Range, Targhe As Range
Dim Mese As Long, Ofs1 As Long, Ofs2 As Long
With Worksheets("SINTESI")
Set Targhe = Range(.Range("A3"), .Range("A" & .Range("A" & .Rows.Count).End(xlUp).Row))
For Each Targa In Targhe
If Targa <> "" Then
On Error Resume Next
Set Scheda = Worksheets(Targa.Value)
On Error GoTo 0
If Scheda Is Nothing Then
MsgBox "La scheda per la targa: " & Targa & " non esiste!", vbCritical
Else
For Mese = 1 To 12
Ofs1 = (Mese - 1) * 3 + 1
Ofs2 = (Mese - 1) * 5
Targa.Offset(0, Ofs1) = Scheda.Range("E38").Offset(0, Ofs2)
Targa.Offset(0, Ofs1 + 1) = Scheda.Range("E38").Offset(0, Ofs2 + 1)
Next Mese
Set Scheda = Nothing
End If
End If
Next Targa
End With
End Sub |