Allora, dando per scontato la presenza nel file datiraggruppati.xlxs di un "foglio Indice" avente la struttura detta prima, prova con questa macro:
- Codice: Seleziona tutto
Sub Colletter()
Dim iSh As String, dSh As String, I As Long, LastI As Long
Dim wWb As Workbook, cCnt As Long, tWb As Workbook
'
iSh = "Indice" '<<< Il foglio che contiene, da riga2 in giu, l'Indice dei file da lavorare
dSh = "Foglio3" '<<< Il foglio su cui i dati verranno raccolti
'
LastI = Sheets(iSh).Cells(Rows.Count, 1).End(xlUp).Row
cCnt = 1
Set tWb = ThisWorkbook
On Error Resume Next
Application.EnableEvents = False
Debug.Print ">>> Inizio Processo"
For I = 2 To LastI
cCnt = cCnt + 1
Debug.Print "+++ I = " & I
Set wWb = Workbooks.Open(tWb.Sheets(iSh).Cells(I, 1).Value, False, True)
Debug.Print "A", wWb.Name, tWb.Sheets(iSh).Cells(I, 1).Value
Debug.Print "AA", Workbooks.Count
wWb.Sheets(tWb.Sheets(iSh).Cells(I, 2).Value).Select
Debug.Print "AAA", ActiveSheet.Name, tWb.Sheets(iSh).Cells(I, 2).Value
tWb.Sheets(dSh).Cells(1, cCnt) = wWb.Name
wWb.Sheets(tWb.Sheets(iSh).Cells(I, 2).Value).Range(tWb.Sheets(iSh).Cells(I, 3).Value).Resize(, 1).Copy tWb.Sheets(dSh).Cells(2, cCnt)
wWb.Close False
Next I
Application.EnableEvents = True
On Error GoTo 0
MsgBox ("Completato, forse :-))")
End Sub
Va inserita nel file datiraggruppati.xlxs (che quindi dovra' poi essere salvato come datiraggruppati.xlsm), in un Modulo Standard del vba.
Per le istruzioni, vedi
viewtopic.php?f=26&t=103893&p=647675#p647675Le righe marcate <<< devono essere personalizzate come da commento.
Quando sei pronto, avvia la Sub Colletter; per le istruzioni, vedi
viewtopic.php?f=26&t=103893&p=647678#p647678Ciao