pino formulated the question :
> Visto che avete risolto il mio problema, spero di non abusare della vostra
> cortesia e competenza avanzando una nuova richiesta.
[...]
Lo sapevo che l'appetito vien mangiando...
=============================================
Sub Button1_Click()
'
' Excel 2010 13-03-2012
'
' Raggruppa e somma in Riepilogo.xlsm, Sheet: SheetName_Target()
' i dati che si trovano nei file: SheetName_Target() & ".xlsx"
' nel fogli SheetName_Source
'
Dim SheetName_Source As String, SheetName_Target() As String
Dim StartCell_Source As String, StartCell_Target As String
Dim i As Integer, k As Long, j As Range, NumCol As Integer
Dim SourceRange As Range, TargetRange As Range
Dim SheetNum As Integer, m As Integer
' -------Definizioni -----------
SheetNum = 5
ReDim SheetName_Target(1 To SheetNum)
SheetName_Target(1) = "File_1"
SheetName_Target(2) = "File_2"
SheetName_Target(3) = "File_3"
SheetName_Target(4) = "File_4"
SheetName_Target(5) = "File_5"
StartCell_Target = "C3"
SheetName_Source = "Sheet1"
StartCell_Source = "A1"
NumCol = 4
' ------------------------------
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For m = 1 To SheetNum
Workbooks.Open ThisWorkbook.Path & "\" & SheetName_Target(m) &
".xlsx"
Set SourceRange = Workbooks(SheetName_Target(m) &
".xlsx").Sheets(SheetName_Source).Range(StartCell_Source)
If Not IsEmpty(SourceRange(2, 1)) Then
Set SourceRange = SourceRange.Resize _
(SourceRange.End(xlDown).Row - SourceRange.Row + 1)
End If
Set TargetRange =
ThisWorkbook.Sheets(SheetName_Target(m)).Range(StartCell_Target)
If Not IsEmpty(TargetRange(2, 1)) Then
Set TargetRange = TargetRange.Resize _
(TargetRange.End(xlDown).Row - TargetRange.Row + 1)
End If
' APPEND ad iniziare dalla prima cella vuota di
StartCell_Target-->Down.
Do
k = k + 1
If IsEmpty(TargetRange(k, 1)) Then
Exit Do
End If
Loop
For Each j In SourceRange
For i = 1 To NumCol
TargetRange(k, i) = j(, i)
Next
k = k + 1
Next
k = 0
ActiveWorkbook.Close
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
==============================================
Bruno