Beh, non puoi sempre passarci le specifiche funzionali e aspettare il risultato...
Allora diciamo che il tuo primo problema e' raccogliere l'elenco dei file da processare.
Per questo potresti usare la Function RecurDir creata per altro utente qui:
http://pop.pc-facile.com/forum/viewtopi ... 62#p632405Richiamerai questa RecurDir con lo stesso metodo descritto al link suddetto:
- Codice: Seleziona tutto
Dim FArr() As String
ReDim FArr(1 To 1)
allpics = Array("xlsx") '<<< Altri formati? 'Adattato al tuo caso
StrDir=" C:\PERCORSO\Documents" '<<< Il Percorso iniziale
Call RecurDir(StrDir, allpics, FArr)
In questo modo avrai nella matrice Farr un elenco di file xlsx presenti nella directory StrDir e tutte le sue subdirectory.
In un ciclo successivo potrai scansionare il contenuto di Farr e determinare se il nome file comincia con "SIM ".
Anzi, pensandoci puoi mettere questo controllo direttamente nel codice della RecurDir in questo modo:
- Codice: Seleziona tutto
ccAll = ccAll + 1
mysplit = Split(" " & myItm, ".", , vbTextCompare)
If Not IsError(Application.Match(mysplit(UBound(mysplit)), myExt, 0)) Then
If InStr(1, mysplit(UBound(mysplit)), "SIM ", vbTextCompare) > 0 Then '++++
myind = UBound(cStore)
ReDim Preserve cStore(1 To myind + 1)
cStore(myind) = myItm
End If '++++
End If
Mahh:
Rispetto al codice originale e' stato aggiunto il blocco If /End If marcato ++++
In questo modo avrai nella matrice Farr direttamente il nome dei file presenti nel filesystem a partire dal percorso che hai indicato e che si chiamino SIM *.xlsx
Ora sei pronto per aprire uno dopo l'altro i vari file, selezioni il foglio che serve, copi l'area che serve e la incolli nel file che stai creando nella posizione giusta.
Prova... e se ti areni fai sapere dove sei arrivato e su quale argomento hai invece frenato.
Ciao