Come convertire tutti i fogli Excel in CSV con macro

Il comando Salva con nome di Excel consente di salvare un singolo foglio di lavoro nel formato CSV (valore separato da virgole), ma non un’intera cartella di lavoro. Il salvataggio manuale di singoli fogli è un progetto noioso per cartelle di lavoro di grandi dimensioni, ma un gioco da ragazzi per una macro di Visual Basic. La funzione specifica per il salvataggio di un particolare foglio di lavoro in CSV o in molti altri formati è la funzione SaveAs dell’oggetto foglio di lavoro. Questa funzione richiede diversi argomenti, ma ne bastano solo due per salvare un foglio di lavoro come CSV. Il primo è Nome file e il secondo, FileFormat, consente di specificare CSV come formato in cui salvare.

1

Crea una nuova cartella di lavoro in Excel, che conterrà la tua macro, quindi premi “Alt-F11” per aprire l’ambiente di sviluppo integrato di Visual Basic. Fare doppio clic sulla voce “Questa cartella di lavoro” nel riquadro di navigazione a sinistra per aprire una finestra del codice in cui inserire il codice macro.

2

Incolla la seguente macro, che salva tutti i fogli della cartella di lavoro aperta come file CSV. Le istruzioni Dim creano variabili che la macro deve eseguire. L’istruzione DisplayAlerts impedisce a Excel di chiedere se si desidera sovrascrivere un file CSV esistente, quando si esegue la macro. Le restanti istruzioni nella macro salvano iterativamente ogni foglio di lavoro nella cartella “C: Tmp”.

Sub saveSheetsAsCSV () Dim i As Integer Dim fName As String Application.DisplayAlerts = False For i = 1 To Worksheets.Count fName = “C: Tmp MySheet” & i ActiveWorkbook.Worksheets (i) .SaveAs Filename: = fName, FileFormat: = xlCSV Next i End Sub

3

Tornare a Excel e fare clic sul comando “Nascondi” del menu Visualizza, che si trova nel gruppo Finestra, per nascondere la cartella di lavoro. Nascondere la cartella di lavoro ti impedirà di inserire accidentalmente dati al suo interno. L’unico scopo della cartella di lavoro è contenere la macro, non i dati.

4

Chiudi Excel, che ti chiederà se vuoi salvare la cartella di lavoro in cui hai appena inserito la macro. Fare clic su “Sì”, quindi salvare la cartella di lavoro con il seguente nome di file, sostituendo “” con il nome del proprio account utente di Windows. Excel caricherà automaticamente questo file al successivo avvio.

C: Users \ AppData Roaming Microsoft Excel XLSTART personal.xlsb

5

Riavvia Excel, che caricherà la cartella di lavoro nascosta contenente la macro CSV che hai appena scritto. Apri qualsiasi cartella di lavoro esistente con dati su più di un foglio di lavoro, quindi premi “Alt-F8” per visualizzare un elenco di macro. Fare doppio clic sull’elemento “saveSheetsAsCSV” per eseguire la macro.

6

Aprire i file nella cartella “C: Tmp” i cui nomi iniziano con “MySheet” e terminano con “.CSV”. Questo passaggio consente di verificare che la macro abbia convertito correttamente ogni foglio di lavoro in un file CSV.