Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Excel - unire fogli

  1. #1

    Excel - unire fogli

    Ciao a tutti!

    Ho dei dati i excel, organizzati in tanti fogli (un foglio per ogni giorno di rilevazione).

    Vorrei creare un unico foglio con tutti i dati.

    Non è che sapete dirmi come si fa?

    Grazie mille

    Stefano

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    I fogli fanno parte tutti dello stesso file?
    Se sì il numero è così elevato da richiedere qualche metodo diverso dal copia incolla?
    I fogli hanno tutti la stessa struttura? Vuoi unirli in un foglio già esistente o crearne uno nuovo?

  3. #3
    I fogli sono strutturati così: un file excel per ogni mese; in ogni file c'è un foglio per ogni giorno (quindi, circa trenta fogli per file excel).

    Per ogni mese vorrei creare un nuovo sheet con tutti i dati del mese. Poi i diversi mesi li potrei unire con dei copia/incolla.

    Stefano

  4. #4
    Risolto con la seguente macro (unisce sheet excel di 9 colonne).

    Ciao!


    ------------------------------------------------



    Option Explicit

    Sub join_sheets()
    ' Unisce tutti gli sheet di un excel accodandoli e aggiungendo una colonna col nome dello sheet
    ' (la data di estrazione dei dati)

    '== DICHIARAZIONI ==
    Dim found_risultato As Boolean
    Dim Riga, Riga_Tot, line_nr As Integer
    Dim Foglio As Worksheet
    Dim result_sheet As String

    '== INIZIALIZZAZIONI ==
    found_risultato = False

    '== ESECUZIONE ==
    ' Crea lo sheet "Risultato" se non è già presente
    For Each Foglio In Worksheets
    If Foglio.Name = "Risultato" Then
    found_risultato = True
    Sheets("Risultato").Cells.Clear
    Exit For
    End If
    Next Foglio

    If found_risultato = False Then
    Worksheets.Add().Name = "Risultato"
    End If

    result_sheet = "Risultato" ' nome dello sheet in cui scrivere il risultato

    'Scrivi intestazione
    Sheets(result_sheet).Range("A1").Value = "Ragione Sociale Produttore"
    Sheets(result_sheet).Range("B1").Value = "Data Doc. (Data Documento)"
    Sheets(result_sheet).Range("C1").Value = "C.E.R."
    Sheets(result_sheet).Range("D1").Value = "Nominativo Autista"
    Sheets(result_sheet).Range("E1").Value = "Targa Aut. (Targa Automezzo)"
    Sheets(result_sheet).Range("F1").Value = "Zona di raccolta"
    Sheets(result_sheet).Range("G1").Value = "Tipo movimento"
    Sheets(result_sheet).Range("H1").Value = "P.Netto (Peso Netto Rifiuto in Kg)"
    Sheets(result_sheet).Range("I1").Value = "Ora"


    Riga_Tot = 2

    For Each Foglio In Worksheets
    If Foglio.Name <> result_sheet Then
    Riga = 1 'Riga iniziale del foglio (compresa intestazione)
    line_nr = 0 ' Azzera il contatore
    Do Until Foglio.Range("H" & Riga) = "" 'Conta quante righe sono presenti nel foglio
    ' utilizzando i valori di colonna 1 (utilizzare
    ' una colonna che non contiene celle vuote)
    Riga = Riga + 1
    line_nr = line_nr + 1
    Loop

    Riga = 2 'Riga iniziale dei dati

    ' Copia i dati delle prime 9 colonne.
    While Riga <= line_nr
    Worksheets(result_sheet).Range("A" & Riga_Tot) = Foglio.Range("A" & Riga)
    Worksheets(result_sheet).Range("B" & Riga_Tot) = Foglio.Range("B" & Riga)
    Worksheets(result_sheet).Range("C" & Riga_Tot) = Foglio.Range("C" & Riga)
    Worksheets(result_sheet).Range("D" & Riga_Tot) = Foglio.Range("D" & Riga)
    Worksheets(result_sheet).Range("E" & Riga_Tot) = Foglio.Range("E" & Riga)
    Worksheets(result_sheet).Range("F" & Riga_Tot) = Foglio.Range("F" & Riga)
    Worksheets(result_sheet).Range("G" & Riga_Tot) = Foglio.Range("G" & Riga)
    Worksheets(result_sheet).Range("H" & Riga_Tot) = Foglio.Range("H" & Riga)
    Worksheets(result_sheet).Range("I" & Riga_Tot) = Foglio.Range("I" & Riga)
    Riga = Riga + 1
    Riga_Tot = Riga_Tot + 1
    Wend

    End If
    Next Foglio

    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.