Note: The other languages of the website are Google-translated. Back to English
English English

Come salvare, esportare più / tutti i fogli in file CSV o di testo separati in Excel?

Quando si utilizza Excel, è possibile salvare manualmente un foglio di lavoro come file CSV o di testo utilizzando la funzione Salva con nome. Tuttavia, per convertire più o tutti i fogli di lavoro in una cartella di lavoro in file CSV o di testo separati, come puoi fare? In questo articolo, ti mostreremo i metodi per salvare o convertire più o tutti i fogli in file CSV o di testo separati.

Salva, esporta o converti tutti i fogli in CSV o file di testo con codice VBA
Salva, esporta o converti più / tutti i fogli in CSV o file di testo con Kutools per Excel


Salva, esporta o converti tutti i fogli in CSV o file di testo con codice VBA

Con i seguenti codici VBA, puoi salvare tutti i fogli di lavoro in una cartella di lavoro in file CSV o di testo separati. Si prega di fare quanto segue.

Esporta o converti tutti i fogli in file CSV

1. Stampa altro + F11 tasti contemporaneamente per aprire il file Applicazione Microsoft Visual Basic finestra.

2. Nel Applicazione Microsoft Visual Basic finestra, fare clic inserire > Modulo. Quindi copia e incolla il seguente codice nel file Modulo finestra.

Codice VBA: esporta tutti i fogli in file CSV separati

Sub ExportSheetsToCSV()
	Dim xWs As Worksheet
	Dim xcsvFile As String
	For Each xWs In Application.ActiveWorkbook.Worksheets
		xWs.Copy
		xcsvFile = CurDir & "\" & xWs.Name & ".csv"
		Application.ActiveWorkbook.SaveAs Filename: = xcsvFile, _
		FileFormat: = xlCSV, CreateBackup: = False
		Application.ActiveWorkbook.Saved = True
		Application.ActiveWorkbook.Close
	Next
End Sub

3. premi il F5 chiave per eseguire il codice. Vedrai che tutti i file CSV esportati si trovano nel file Documenti cartella. Vedi screenshot:

Esporta o converti tutti i fogli in file di testo

Il codice seguente può aiutarti a esportare o convertire tutti i fogli nella cartella di lavoro in file di testo separati.

Codice VBA: esporta tutti i fogli in file di testo separati

Sub ExportSheetsToText()
	Dim xWs As Worksheet
	Dim xTextFile As String
	For Each xWs In Application.ActiveWorkbook.Worksheets
		xWs.Copy
		xTextFile = CurDir & "\" & xWs.Name & ".txt"
		Application.ActiveWorkbook.SaveAs Filename: = xTextFile, FileFormat: = xlText
		Application.ActiveWorkbook.Saved = True
		Application.ActiveWorkbook.Close
	Next
End Sub

I file di testo esportati si trovano anche nel file Documenti cartella. Vedi screenshot:


Salva, esporta o converti più / tutti i fogli in CSV o file di testo con Kutools per Excel

YPuoi esportare o convertire rapidamente più o tutti i fogli in singoli file CSV, file di testo o file in formato xls in Excel con il Cartella di lavoro divisa utilità di Kutools for Excel.

Prima di applicare Kutools for Excel, Per favore scaricalo e installalo prima.

1. Clic Kutools Plus > Cartella di lavoro > Cartella di lavoro divisa. Vedi screenshot:

2. Nel Cartella di lavoro divisa la finestra di dialogo:

  • 1). Se vuoi convertire tutti i fogli in file CSV o di testo, mantieni tutti i nomi dei fogli selezionati nel file Nome del foglio di lavoro scatola; Se vuoi solo convertire più fogli, continua a controllarli e deseleziona gli altri fogli che non desideri convertire.
  • 2). Nel Opzioni sezione, controlla il Salva come tipo casella e quindi selezionare Testo Unicode (*. Txt) or CSV (Macintosh) (*. Csv) dall'elenco a discesa.
  • 3). Clicca il Diviso pulsante.

3. Nel Sfoglia per cartella finestra di dialogo, specificare una cartella in cui salvare i file esportati, quindi fare clic su OK pulsante.

Ora tutti i fogli o fogli specificati vengono convertiti in file CSV o di testo separati e individuati nella cartella come specificato sopra.

  Se desideri avere una prova gratuita (30 giorni) di questa utility, fare clic per scaricarlo, quindi andare ad applicare l'operazione secondo i passaggi precedenti.


Salva, esporta o converti più / tutti i fogli in CSV o file di testo con Kutools per Excel


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • 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 della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (36)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per salvare i file CSV in una cartella diversa dalla cartella Documenti?
Questo commento è stato fatto dal moderatore sul sito
[quote]C'è un modo per salvare i file CSV in una cartella diversa dalla cartella Documenti?Di Alex K123456789[/quote] Non l'ho testato, ma sono piuttosto "\" in questa riga sta per la directory di lavoro: xcsvFile = CurDir & "\" & xWs.Name & ".csv" Se vuoi cambiare la directory di lavoro, dovrai aggiungere un altro comando. Se vuoi salvarlo in una cartella all'interno della directory di lavoro, dì in una cartella chiamata nuova sostituisci semplicemente "\" con "\Nuovo\". Qualcosa del genere.
Questo commento è stato fatto dal moderatore sul sito
Grazie mille Paolo. Ho finito per capirlo un po' di tempo fa, ma la tua soluzione è esattamente quella che ho fatto.
Questo commento è stato fatto dal moderatore sul sito
Simpatico! Grazie per la risposta, significa molto anche per me sapere che la mia soluzione è quella corretta. Saluti!
Questo commento è stato fatto dal moderatore sul sito
Ciao Alex, potresti mostrarmi la riga di codice che hai inserito al posto di "\" per favore? Devo essere in grado di salvare questi file .csv in una posizione sulla nostra rete anziché nella mia libreria WS locale. Dobbiamo consentire al personale del nostro Servizio Clienti di poter accedere al file e rinominare la posizione ogni volta che viene utilizzato. Incontro problemi di bug semplicemente cambiando "\" in "\Nuovo\" (il codice VBA funziona come previsto quando viene copiato direttamente dalle informazioni sopra). Non sono esperto di codice, ma posso seguire le indicazioni abbastanza bene, quindi qualsiasi aiuto è apprezzato!
Questo commento è stato fatto dal moderatore sul sito
[quote]Ciao Alex, potresti mostrarmi la riga di codice che hai inserito al posto di "\" per favore? Devo essere in grado di salvare questi file .csv in una posizione sulla nostra rete anziché nella mia libreria WS locale. Dobbiamo consentire al personale del nostro Servizio Clienti di poter accedere al file e rinominare la posizione ogni volta che viene utilizzato. Incontro problemi di bug semplicemente cambiando "\" in "\Nuovo\" (il codice VBA funziona come previsto quando viene copiato direttamente dalle informazioni sopra). Non sono esperto di codice, ma posso seguire le indicazioni abbastanza bene, quindi qualsiasi aiuto è apprezzato!Per l'alba[/quote] Ciao Dawn, ho finito per dover riscrivere parti e, come suggerito da Paul, ho usato un comando leggermente diverso. Di seguito è riportato il comando che ho scritto per aggiornare i dati nella mia cartella di lavoro dal nostro Data Warehouse, quindi aggiornare le tabelle pivot e infine salvare uno dei fogli come PDF sul mio disco: ActiveWorkbook.RefreshAll Sheets("Karth").Select Range(" B22").Seleziona ActiveSheet.PivotTables("Karth_Appd_Wkly").PivotCache.Refresh Sheets("Start").Seleziona fogli("Karth").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "K:\K\Analytics\ Report\Sales\SM Reports\SM Summary_Karth.pdf" _ , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=False End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per il codice, è possibile saltare alcuni fogli e salvarne solo alcuni? Non ho idea di come dovrei iniziare. Potresti aiutarmi? Nicola
Questo commento è stato fatto dal moderatore sul sito
Grazie per le macro, erano proprio quello di cui avevo bisogno. Tuttavia, l'uso di "CurDir" per creare il percorso del file di output è molto pericoloso in quanto non è necessariamente la cartella del file Excel che è stata aperta: generalmente è la cartella corrente in Explorer, quindi i tuoi file potrebbero finire per essere scritti praticamente ovunque. Dovresti invece usare Application.ThisWorkbook.Path.
Questo commento è stato fatto dal moderatore sul sito
Sto scrivendo per determinare se la tua applicazione può convertire più fogli xls in un file di testo e come ordinerebbe le righe. Devo avere un'opzione per ordinare le righe in ordine di apparizione, una riga alla volta un foglio alla volta. Foglio 1, riga 1; foglio 2, riga 1, foglio 3, riga1, ecc. Attendo con impazienza il tuo feedback.
Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per il codice, ho solo una piccola precisazione. Attualmente quando il file CSV viene generato è delimitato da virgola ",". anche se la mia impostazione di sistema è per CSV, il delimitato dovrebbe essere pipe "|". Non sono sicuro del motivo per cui il CSV viene generato con delimitatore di virgola con il codice sopra. C'è un modo in cui posso definire esplicitamente il delimitatore per il file CSV. Cerco la tua risposta al più presto. Grazie. Saluti, Amit
Questo commento è stato fatto dal moderatore sul sito
ciao alex, per favore, potresti visualizzare il codice per salvare i file in formato csv eccetto la cartella documenti
Questo commento è stato fatto dal moderatore sul sito
ciao ho bisogno di una macro che converta pipe "|" csv separato in xlsx chiedendo il nome della cartella non un singolo file. ne ho bisogno urgentemente


Saluti,
Questo commento è stato fatto dal moderatore sul sito
Siamo spiacenti, non è possibile risolvere questo problema
Questo commento è stato fatto dal moderatore sul sito
Ho bisogno di una macro per convertire tutte le schede in un file excel in diversi set di file.
Questo commento è stato fatto dal moderatore sul sito
Buon Giorno,
Quali file vuoi includere nel tuo "diverso set di file"?
Questo commento è stato fatto dal moderatore sul sito
1) Ho una cartella di lavoro con più fogli.
2) Quei fogli multipli hanno più colonne.
3) Ho una colonna in ogni foglio che è la concatenazione di tutte le altre colonne.
4) Ora, voglio estrarre quella colonna concatenata in un file di testo con lo stesso nome del nome del foglio.
5) Il modo in cui voglio è premere un pulsante e dovrebbe cercare tutte le schede, estrarre quella colonna (diciamo che la colonna concatenata è AA) da ogni foglio, inserirla in un file di testo, nominare il file di testo come il nome del foglio e archiviare in una directory sul mio desktop, ad esempio H drive.
Questo commento è stato fatto dal moderatore sul sito
Buon Giorno,
Spiacenti, non posso aiutarti con questo, puoi pubblicare la tua domanda nel nostro forum: https://www.extendoffice.com/forum.html per ottenere più supporti Excel dal nostro professionista.
Questo commento è stato fatto dal moderatore sul sito
A, ora vedo che la riga "Codice VBA: esporta tutti i fogli in file CSV separati" non deve essere copiata nell'area del codice. Forse questo può essere più esplicito per i neofiti e per le persone che seguono le istruzioni in modo esplicito.
Questo commento è stato fatto dal moderatore sul sito
Ciao Ken,
Questa è la riga descrittiva del codice. La riga "Sub ExportSheetsToCSV()" dovrebbe essere la prima riga del codice.
Mi scuso per l'inconveniente.
Questo commento è stato fatto dal moderatore sul sito
Grazie - script molto utile
Questo commento è stato fatto dal moderatore sul sito
Soluzione superba.....Mi ha fatto risparmiare tempo.......Grazie
Questo commento è stato fatto dal moderatore sul sito
Se vuoi solo convertire più fogli, continua a controllarli e deseleziona gli altri fogli che non vuoi convertire
signore per questo passaggio avete macro
Questo commento è stato fatto dal moderatore sul sito
Buona giornata,
Non posso aiutare con il codice VBA per questo. Perché non provare l'utilità Dividi cartella di lavoro che forniamo nel post? Ti farà risparmiare tempo e te ne innamorerai.
Questo commento è stato fatto dal moderatore sul sito
Ciao,
grazie mille per l'ottima macro, funziona come un incantesimo! Ma ho una domanda, e se volessi salvare questa macro (versione CSV) su PERSONAL.xlsb per renderla disponibile su qualsiasi istanza di Excel?

Quando provo, CurDir prende la directory PERSONAL, invece di quella del foglio di lavoro attivo...

Grazie per tutto l'aiuto!
Questo commento è stato fatto dal moderatore sul sito
ciao Mirko,
Il metodo in questo articolo può farti un favore: https://trumpexcel.com/personal-macro-workbook/.
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per utilizzare questo codice per esportare solo un determinato intervallo in un file .csv di ogni foglio in un libro?
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Il codice VBA in questo articolo potrebbe farti un favore: https://www.extendoffice.com/documents/excel/2897-excel-export-range-to-csv.html
Questo commento è stato fatto dal moderatore sul sito
Quindi, questo è fantastico! MA, cosa succede se devo dividere una cartella di lavoro in .csv ma ​​per PC, non per MAC? Se qualcuno ha un modo per farlo, per favore mi aiuti. Saró molto grato.
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Il primo codice VBA in questo post può farti un favore.
Questo commento è stato fatto dal moderatore sul sito
come cambierei il codice per salvarlo in un formato di file diverso come xlsx? o ASCII.
Questo commento è stato fatto dal moderatore sul sito
Grazie! L'ho usato per salvare tutti i fogli del mio file .xlsx in diversi .xlsx
Sub ExportSheetsToXLSX()
Dim xWs come foglio di lavoro
Dim xcsvFile come stringa
Per ogni xWs in Application.ActiveWorkbook.Worksheets
xWs.Copy
xlsxFile = CurDir & "\" & xWs.Name & ".xlsx"
Nome file Application.ActiveWorkbook.SaveAs:=xlsxFile, _
FileFormat: = xlOpenXMLWorkbook, CreateBackup: = False
Application.ActiveWorkbook.Saved = Vero
Application.ActiveWorkbook.Chiudi
Successiva
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per l'ottimo codice è fantastico (esporta tutti i fogli in file di testo separati)! L'ho usato in molte occasioni ma si è imbattuto in un file in cui non funziona, il debugger dice l'errore di runtime 1004 e quella copia del metodo di un foglio di lavoro non è riuscita e contrassegna la riga xWs.Copy. Esiste una regola relativa al nome di un foglio di lavoro che non consente l'esecuzione del codice?
Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per l'ottimo codice (Esporta tutti i fogli in file di testo separati), usandolo molto. Mi sono appena imbattuto in una cartella di lavoro in cui non funzionerà, il debugger dice che la riga xWs.Copy è un problema, il popup dice che la copia del metodo di una cartella di lavoro non è riuscita. Esistono restrizioni relative al nome di un foglio di lavoro o qualcosa di simile, come l'assenza di celle unite ecc.?

Grazie per una risposta :)
Questo commento è stato fatto dal moderatore sul sito
CIAO BI,
Il tuo foglio di lavoro contiene una tabella pivot? Puoi fornirci i tuoi dati per il test? Se non ti dispiace, carica qui il tuo file di esempio.
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite