Direi che un esempio dell'implementazione dei ciclo for è questa:
Se ad esempio nella colonna B (cioè 3) hai gli indirizzi dei fogli esterni da copiare, puoi fare banalmente così:
Questo è un pezzo di codice grossolano scritto direttamente qua.codice:dim r,l as integer 'contatori dim N1 as string for r = 1 to 51 '(le righe e le colonne sono array a base 1, nel tuo caso hai 50 file N1= Riassunto.Worksheets("elencoVR").cells(r,c).value 'nome del file da copiare Set wk1 = Workbooks.Open(N1) Set sh1 = wk1.Worksheets("VR_Mansione") With sh1 .Range("f4:M150").Copy Destination:=dest1.Range("a4") .Range("o4:z150").Copy Destination:=dest1.Range("j4") End With wk1.Close next r 'ripeti il tutto per il 2 file
TU dici che il problema sta nell'aprire i file giusti, nel sapere quanti sono ecc..
Guarda questo link, l'esempio numero 6.
Puoi definire una directory contenente tutti i tuoi file da incollare e col codice nell'esempio 6 li scrivi dove ti serve e po li apri uno alla volta e fai quello che ti serve..