Riempi foglio da più file



  • Riempi foglio da più file
    di labenna (utente non iscritto) data: 30/12/2015 13:20:20

    Salve,

    nella medesima cartella (la directory è fissa) sono contenuti n file 01.xls, 02.xls, ... ed il Main.xlsm
    Il Main è strutturato così:
    A B C D
    01
    02
    03

    La prima colonna, quella contenente i nomi dei file, sarà un range Main_schede, la seconda colonna la Main_A e via dicendo.
    I campi A, B, C,... sono celle dei campi dei file 01, 02,... denominati Scheda_A, Scheda_B, ...
    Pertanto vorrei un codice che sia in grado di compilarmi la tabella in oggetto in funzione del file richiesto nella prima colonna.
    Potrei richiedere un file solo oppure 10.

    Esiste qualcosa da cui possa partire o ancor meglio qualcosa che faccia già questo?

    Grazie,
    Nicola



  • di labenna (utente non iscritto) data: 30/12/2015 13:22:24

    La formattazione della tabella è sbagliata, dovrebbero essere 5 colonne con A affianco alla colonna Schede e non sopra.



  • di patel data: 30/12/2015 14:06:21

    allega uno o più file di esempio con i dati ed il risultato desiderato





  • di labenna (utente non iscritto) data: 30/12/2015 15:20:59

    File d'esempio allegato.

    Grazie



  • di patel data: 30/12/2015 15:28:12

    sono proprio necessari tutti quei nomi dei range ? posso fare a meno di utilizzarli ?





  • di labenna (utente non iscritto) data: 30/12/2015 15:35:19

    Ogni scheda contiene, sempre nella stessa posizione, i valori che devo importare.
    Sono collocati in punti diversi del foglio e quindi pensavo fosse più utile dargli un nome che potesse essere facilmente riportato nel codice in fase di scrittura piuttosto che cercare in quale cella fosse.
    Si può comunque prescindere dai nomi se ti risulta più comodo.




  • di patel data: 30/12/2015 17:20:20

    occorrerebbe un esempio realistico, in quello allegato le celle da copiare sono tutte contigue.
    Io visto il tuo esempio copierei l'intera riga





  • di labenna (utente non iscritto) data: 30/12/2015 17:43:24

    Considera di dover copiare la cella A1 da uno qualunque dei file e doverla incollare in B10 del main.
    Ci penso poi io a replicare per il numero di volte che mi serve con il campo corretto.



  • di patel data: 30/12/2015 18:41:30

    prova questa
     
    Sub Open_files_list()
    LR = Cells(Rows.Count, "A").End(xlUp).Row
    fpath = "F:DOWNLOADESEMPIO"
    Set wbk = ThisWorkbook
    For i = 2 To LR
      IName = fpath & Range("A" & i) & ".xls"
      Set wbk1 = Workbooks.Open(IName)
      LC = Cells(3, Cells.Columns.Count).End(xlToLeft).Column
      Range(Cells(3, 2), Cells(3, LC)).Copy wbk.Sheets(1).Cells(i, 2)
      wbk1.Close False
    Next
    
    End Sub