Importazione fogli di xls



  • Importazione fogli di xls
    di Stella (utente non iscritto) data: 14/02/2014 15:53:19

    Ciao a tutti.
    avrei bisogno di una macro che mi importi determinati fogli di più cartelle di lavoro presenti in una directory, in un unico file xls.
    mettiamo che il file di Destinazione si chiami Destinazione.xls
    C:Users ome.cognomeDesktopMACRO-VBAImportazioneCartella 1 sono presente File1.xls;File2.xls ecc.ecc.
    (sarebbe meglio una cosa tipo tutti i file xls che trovi, se è fattibile)
    Devo importar solo i FOGLIO1/2/3/4 rispettivamente nel FOGLIO1/2/3/4 del file di Destinazione.xls.
    Spero di essermi spiegata e di avervi fornito tutti le informazioni necessarie,
    vi ringrazio per tutti i suggerimenti che vorrete darmi.



  • di paolomath data: 14/02/2014 15:57:19

    Ciao,

    puoi leggere

    h t t p://www.excelvba.it/Forum/thread.php?f=1&t=5617

    per suggerimenti vari.

    Bye bye.



  • di Grograman (utente non iscritto) data: 14/02/2014 16:03:58

    In mancanza di ulteriori riferimenti, manca la parte di copia/incolla:
     
    Option Explicit
    
    Private Sub Sfoglia_Files()
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME '''''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '' Per l'attivazione andare su "Strumenti", "Riferimenti", cercare e spuntare il nome ''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
      Dim wbFrom As Workbook, wbTo As Workbook
      Dim wsF As Worksheet, wsT As Worksheet
      Dim strPath As String
      
      Dim objFSY As FileSystemObject
      Dim objFOL As Folder
      Dim objFIL As File
      
      strPath = "C:Users
    ome.cognomeDesktopMACRO-VBAImportazioneCartella 1"
    
      Set wbTo = ThisWorkbook
      Set wsT = wbTo.Worksheets(1) 'qui il numero/nome del foglio IN CUI importare
      Set objFSY = New FileSystemObject
      Set objFOL = objFSY.GetFolder(strPath)
      
      For Each objFIL In objFOL.Files
        If Right(objFIL.Name, 4) = ".xls" Then 'ma solo i formato 2003, sarebbe meglio usare il tipo file
        Set wbFrom = Application.Workbook.Open(objFIL)
        Set wsF = wbFrom.Worksheets(1)  'qui il numero/nome del foglio DA CUI importare
        
         'qui il codice che copia i dati, ma servono i riferimenti
        
        Set wbFrom = Nothing
        Set wsF = Nothing
        End If
      Next objFIL
    Uscita:
      Set objFSY = Nothing
      Set objFOL = Nothing
    End Sub
    


  • Importazione fogli di xls
    di stella (utente non iscritto) data: 14/02/2014 16:12:41

    Grazie!, che riferimenti ti occorrono?

    scusatemi ma sono digiuna di VBA




  • di Grograman (utente non iscritto) data: 14/02/2014 16:22:24

    Tipo quali celle vuoi copiare e dove.
    Non si capisce se devi accodare i dati, cpiare 4 file in 4 fogli diversi ecc!

    Insomma, servono i dettagli!!


  • Importazione fogli di xls
    di Stella (utente non iscritto) data: 14/02/2014 16:31:22

    Devo accodare i dati.
    Il File di Destinazione; Destinazione xls contiene diversi fogli come anche i file che importo; diciamo che io vorrei:
    poter dire: del FILE 1 importa il FOGLIO 1 nel FOGLIO 1 del File Destinazione.xls, il FOGLIO 2 nel FOGLIO 2 del File Destinazione.xls
    la stessa cosa per il FILE 2 accodando i dati ecc.