Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

[Excel] Unire fogli

  1. #1
    L'avatar di John
    John non  in linea Scolaretto
    Ciao a tutti,

    devo prendere in mano un vecchio file excel con circa 180 fogli. Ogni foglio ha la stessa struttura in particolare lo stesso numero di colonne. E' possibile unire, magari con una macro ,tutti i fogli in uno unico??
    ℹ️ Leggi di pi su John ...

  2. #2
    L'avatar di dragone bianco
    dragone bianco non  in linea Amanuense
    Ciao John

    cosa vuoi fare creare un file con 180 fogli
    o un file con un foglio contemente tutti i dati ,se cos verifica che stiano tutti dati nel foglio.
    ti ricordo che excels 2003 supporta solo 65536 righe

    Ciao
    ℹ️ Leggi di pi su dragone bianco ...

  3. #3
    L'avatar di John
    John non  in linea Scolaretto
    Ciao Dragone Bianco,

    devo creare un file con un foglio contenente tutti i dati (per cui raggruppare tutti i 180 fogli in uno unico) e i dati sono sicuramente inferiori alle 65536.

    Ciao
    ℹ️ Leggi di pi su John ...

  4. #4
    L'avatar di dragone bianco
    dragone bianco non  in linea Amanuense
    Ciao se lo fai sullo stesso file
    puoi usare un ciclo for each per leggere tutti i fogli (Worksheets) escluso quello dovea ccodi i dati

    Es
    Dim Riga, Riga_Tot
    Dim Foglio
    
    Riga_Tot=1
    
    For Each Foglio In Worksheets
       if Foglio.name<>"DATI" Then
            Riga=1'Riga iniziale
            do until Foglio.Range("A" & Riga)=""
               Workshets("Dati").range("A" & Riga_Tot)=Foglio.Range("A" & Riga)
               
               Riga=riga+1
               Riga_Tot=Riga_Tot+1
            loop
       end if
    next foglio
    
    Ciao

    PS:
    il codice non l'ho testato potrebbe esserci qualche errore.
    ℹ️ Leggi di pi su dragone bianco ...

  5. #5
    L'avatar di John
    John non  in linea Scolaretto
    OK funziona ti ringrazio
    ℹ️ Leggi di pi su John ...

  6. #6
    gasmor non  in linea Novello
    Quote Originariamente inviato da dragone bianco Visualizza il messaggio
    Ciao se lo fai sullo stesso file
    puoi usare un ciclo for each per leggere tutti i fogli (Worksheets) escluso quello dovea ccodi i dati

    Es
    Dim Riga, Riga_Tot
    Dim Foglio
     
    Riga_Tot=1
     
    For Each Foglio In Worksheets
       if Foglio.name<>"DATI" Then
            Riga=1'Riga iniziale
            do until Foglio.Range("A" & Riga)=""
               Workshets("Dati").range("A" & Riga_Tot)=Foglio.Range("A" & Riga)
     
               Riga=riga+1
               Riga_Tot=Riga_Tot+1
            loop
       end if
    next foglio
    
    Ciao

    PS:
    il codice non l'ho testato potrebbe esserci qualche errore.
    Ciao, non riesco a farlo funzionare
    ottengo questo errore:

    errore di run-time '9':
    indice non incluso nell'intervallo

    in questa riga:
    Worksheets("Dati").range("A" & Riga_Tot)=Foglio.Range("A" & Riga)



  7. #7
    L'avatar di dragone bianco
    dragone bianco non  in linea Amanuense
    Ciao

    Verifica che esiste a un foglio dati.
    Verifica il valore di Riga_Tot (se troppo grosso hai finito le righe, non deve superare il 65536 righe)

    Ciao
    ℹ️ Leggi di pi su dragone bianco ...

  8. #8
    leos non  in linea Novello
    Salve, ho un problema simile all'utente che ha aperto questa discussione.

    Ho circa 90 fogli di Excel che voglio unire in un unico foglio, in particolare dalla colonna AM alla AX devo unire le prime 1000 righe (numero non preciso). In questo intervallo non avr mai 2 righe piene in 2 fogli differenti.
    Ho provato a modificare il codice da voi scritto, ma non sono riuscito a venirne a capo.

    Mi sapete aiutare?
    Uso Office 2007.

  9. #9
    L'avatar di Elimar
    Elimar non  in linea Scribacchino
    Qual l'errore che ti da?

    Hai provato ad usare il Debug?
    ℹ️ Leggi di pi su Elimar ...

  10. #10
    leos non  in linea Novello
    No nessun errore, non riesco proprio a fare quello che voglio.

    ho modificato cos il codice:

    Sub Macro1()
    '
    ' Macro1 Macro
    '
    ' Scelta rapida da tastiera: CTRL+u
    '
    Dim Riga, Riga_Tot
    Dim Foglio
     
    Riga_Tot = 2
     
    For Each Foglio In Worksheets
       If Foglio.Name <> "Dati" Then
            Riga = 2 'Riga iniziale
            Do Until Foglio.Range("K" & Riga) = "Last"
                If Foglio.Range("K" & Riga) = "" Then
                      Riga = Riga + 1
                      Riga_Tot = Riga_Tot + 1
                Else
                       Worksheets("Dati").Range("K" & Riga_Tot) = Foglio.Range("K" & Riga)
     
                       Riga = Riga + 1
                       Riga_Tot = Riga_Tot + 1
               End If
            Loop
            
       End If
    Next Foglio
    End Sub
    
    ma mi copia anche le celle vuote.

    ps al posto di " Do Until Foglio.Range("K" & Riga) = "Last" " vorrei mettere qualcosa tipo, fino alla riga 1000 ma non so come si fa..

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Come unire fogli di lavoro excel
    Da nik23 nel forum Microsoft Excel
    Risposte: 6
    Ultimo Post: 31-03-2015, 20:33
  2. Come unire fogli di lavoro excel e mescolare le righe
    Da littlesaint nel forum Microsoft Excel
    Risposte: 11
    Ultimo Post: 10-04-2013, 23:01
  3. Unire pi fogli excel
    Da giulia_polito nel forum Presentati
    Risposte: 1
    Ultimo Post: 08-06-2012, 19:50
  4. Risposte: 4
    Ultimo Post: 12-06-2009, 09:19
  5. Excel: unire dati di fogli diversi
    Da Lele73 nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 10-07-2008, 17:29