Come importare rapidamente in batch più file CSV, testo o XML in Excel?
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:

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:



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.
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:

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 Sì. Vedi screenshot:

Dopo aver fatto clic su Sì, 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:


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 
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:

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:
2. Nella fase 1 della finestra Combina, scegli un’opzione di separazione in base alle tue esigenze. Guarda lo screenshot:
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:
4. Fai clic su Avantiper accedere alla fase Ultima della finestra Combinae specificare le 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:
6. Fai clic su Salva. Tutti i fogli aggiunti sono stati combinati in un unico nuovo foglio.
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:

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:

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

4. Fai clic su OK e ora tutti i fogli selezionati verranno esportati come nuovi file del tipo scelto nella cartella indicata.
Articoli correlati:
- Come si converte un collegamento ipertestuale in testo normale in Excel?
- Come convertire un numero decimale in numero binario/ottale/esadecimale o viceversa in Excel?
- Come inserire un tasso di cambio in tempo reale in Excel?
Migliori Strumenti per la Produttività in Office
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.
- 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