KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come importare rapidamente in batch più file CSV, testo o XML in Excel?

AutoreSun Data di modifica

In Excel potresti aver già salvato una cartella di lavoro come file CSV, file di testo o file XML, ma hai mai provato a importare più file CSV, di testo o XML da una cartella direttamente in una cartella di lavoro o in un singolo foglio di lavoro? In questo articolo ti presento alcuni metodi per importarli rapidamente in batch.


Importare più File di Testo da una cartella in fogli di lavoro distinti di una cartella di lavoro con VBA

Per importare file di testo da una cartella in una cartella di lavoro, puoi usare il seguente codice VBA per gestire l’operazione in modo rapido e semplice.

1. Apri una cartella di lavoro vuota e premi i tasti Alt + F11 per aprire la finestra di Microsoft Visual Basic for Applications.

2. Fai clic su Inserisci > Modulo e incolla il codice VBA nella finestra del Modulo.

VBA: Importa tutti i File di Testo da una cartella in una cartella di lavoro

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "\" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3. Premi il tasto F5 oppure fai clic sul pulsante Esegui per eseguire il codice VBA. Nella finestra di dialogo visualizzata, seleziona la cartella da cui desideri importare i file di testo. Vedi screenshot:

uno screenshot della selezione di una cartella da cui si desidera importare file txt

4. Fai clic su OK e ogni file di testo nella cartella selezionata verrà importato in un foglio di lavoro della cartella di lavoro corrente. Vedi screenshot:

uno screenshot che mostra come ogni file di testo nella cartella selezionata è stato importato in fogli di lavoro diversi della cartella di lavoro correnteuno screenshot che mostra come ogni file di testo nella cartella selezionata è stato importato in fogli di lavoro diversi della cartella di lavoro corrente 2
uno screenshot di kutools for excel ai

Sblocca la magia di Excel con KUTOOLS AI

  • Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
  • Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
  • Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
  • Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Potenzia le tue capacità in Excel con strumenti basati sull’intelligenza artificiale.Scarica orae scopri un’efficienza mai provata prima!

Importare più file csv da una cartella in un unico foglio con VBA

Per importare tutti i file CSV da una cartella in un unico foglio, puoi usare il seguente codice VBA.

1. Apri un foglio di lavoro vuoto e premi i tasti Alt + F11 per aprire la finestra di Microsoft Visual Basic for Applications.

2. Fai clic su Inserisci > Modulo e incolla il seguente codice VBA nella nuova finestra del Modulo.

VBA: Importa file csv da una cartella in un unico foglio di lavoro

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3. Premi il tasto F5 oppure fai clic sul pulsante Eseguiper eseguire il codice VBA; verrà visualizzata una finestra di dialogo con la scritta «Seleziona una cartella da cui desideri importare tutti i file CSV». Vedi screenshot:

uno screenshot della selezione di una cartella da cui si desidera importare file csv in un singolo foglio di lavoro

4. Fai clic su OK e apparirà una finestra di dialogo che ti chiederà se cancellare il contenuto del foglio attivo prima dell'importazione; in questo caso, fai clic su . Vedi screenshot:

uno screenshot di una finestra di avviso che chiede se si desidera cancellare il foglio esistente prima di importare i file csv

Dopo aver fatto clic su , tutti i file CSV nella cartella selezionata vengono importati nel foglio di lavoro corrente, con i dati posizionati a partire dalla colonna A e proseguiti verso destra. Vedi screenshot:

uno screenshot che mostra come tutti i file csv nella cartella selezionata sono stati importati nel foglio di lavoro correnteuno screenshot che mostra come tutti i file csv nella cartella selezionata sono stati importati nel foglio di lavoro corrente 2

Suggerimento: Se desideri posizionare i file CSV in orizzontale in un foglio di lavoro, puoi utilizzare il seguente codice VBA.

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

uno screenshot dell'importazione di file csv in orizzontale in un foglio di lavoro


Importare più file xml da una cartella in un unico foglio con VBA

Se desideri importare tutti i file XML da una cartella in un unico foglio, puoi utilizzare il seguente codice VBA.

1. Seleziona un foglio vuoto in cui desideri inserire i dati importati e premi i tasti Alt + F11 per aprire la finestra di Microsoft Visual Basic for Applications.

2. Fai clic su Inserisci>Moduloe incolla il codice VBA nella finestra del Modulo.

VBA: Importa file XML da una cartella in un foglio di lavoro.

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3. Fai clic sul pulsante Esegui oppure premi il tasto F5 per eseguire il codice VBA e seleziona Seleziona una cartella nella finestra di dialogo visualizzata. Vedi screenshot:

uno screenshot della selezione di una cartella da cui si desidera importare file xml in un singolo foglio di lavoro

4. Fai clic su OK e tutti i file XML nella cartella selezionata verranno importati nel foglio di lavoro corrente.


Importare o combinare più file xml/csv in un foglio o in una cartella di lavoro con Kutools per Excel

Se non sei esperto di VBA, non preoccuparti: ti presento uno strumento pratico – Kutools per Excel. Grazie alla sua potente funzionalità Combina, puoi unire rapidamente più file XML o CSV in una singola cartella di lavoro o in un unico foglio Excel.

Dopo aver installato Kutools per Excel, procedi come segue:(Scarica gratuitamente Kutools per Excel ora!)

1. Apri Excel e fai clic su KUTOOLS PLUS > Combina. Vedi screenshot:
uno screenshot dell'attivazione della funzione Combina di Kutools for Excel

2. Nella fase 1 della finestra Combina, scegli un’opzione di separazione in base alle tue esigenze. Guarda lo screenshot:
uno screenshot della selezione di un'operazione necessaria nella procedura guidata Combina fogli di lavoro

3. Fai clic su Avanti per passare alla fase 2 della finestra Combina, quindi fai clic su Aggiungi per selezionare cartelle diverse o file da una singola cartella nell’elenco Cartella di lavoro. Specifica anche i fogli da combinare dall’elenco Foglio di lavoro nella sezione a destra. Vedi screenshot:
uno screenshot dell'aggiunta di file o cartelle e della specifica dei fogli da combinare

4. Fai clic su Avantiper accedere alla fase Ultima della finestra Combinae specificare le opzioni di combinazione.
uno screenshot della specifica delle opzioni di combinazione

5. Fai clic su Fine e verrà visualizzata una finestra di dialogo che ti chiederà di selezionare la posizione in cui salvare il nuovo risultato combinato. Vedi screenshot:
uno screenshot della selezione di una posizione in cui salvare il nuovo file combinato

6. Fai clic su Salva. Tutti i fogli aggiunti sono stati combinati in un unico nuovo foglio.
uno screenshot che mostra come tutti i fogli aggiunti sono stati combinati in un unico nuovo foglio di lavoro

Suggerimento: Con la funzione Combina, puoi unire più file CSV provenienti da cartelle diverse o da una singola cartella in un unico foglio oppure in una cartella di lavoro.


Esportare ogni foglio come csv/testo/pdf in una cartella con Kutools per Excel

Se desideri esportare ogni foglio come file CSV, di testo o PDF in una cartella, la funzionalità Kutools per Excel di Dividi documento può esserti d’aiuto.

Dopo aver scaricato e installato gratuitamenteKutools per Excel, procedi come segue:

1. Apri la cartella di lavoro di cui desideri esportare i fogli e fai clic su KUTOOLS PLUS > Cartella di lavoro > Dividi documento. Vedi screenshot:

uno screenshot dell'attivazione della funzione Suddividi cartella di lavoro

2. Nella finestra di Dividi documento, puoi selezionare i nomi dei fogli da esportare; per impostazione predefinita, sono selezionati tutti i fogli. Seleziona l’opzione Specifica formato di salvataggio e scegli il tipo di file con cui desideri salvare i documenti dall’elenco a discesa sottostante. Vedi screenshot:

uno screenshot della selezione dei nomi dei fogli da esportare e della specifica di un formato di salvataggio

3. Fai clic su Dividi e seleziona la cartella in cui salvare i file suddivisi nella finestra di dialogo Sfoglia cartelle. Vedi screenshot:

uno screenshot della selezione di una cartella di destinazione in cui salvare i file esportati

4. Fai clic su OK e ora tutti i fogli selezionati verranno esportati come nuovi file del tipo scelto nella cartella indicata.


Articoli correlati:


Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi