Creazione di cartelle di lavoro individuali (Microsoft Excel)
Se utilizzi spesso Excel, sai che potresti ricevere cartelle di lavoro piuttosto grandi dai colleghi. Spesso è desiderabile suddividere la cartella di lavoro, in modo che ogni foglio di lavoro si trovi nella propria cartella di lavoro. Anche se questo può essere fatto manualmente, il processo diventa rapidamente noioso se hai molte rotture da fare.
Questo tipo di lavoro ripetitivo è naturale per una macro. La seguente macro, denominata BreakItUp, crea singoli file della cartella di lavoro in base ai fogli di lavoro nella cartella di lavoro corrente. Pertanto, se la cartella di lavoro corrente contiene 25 fogli di lavoro, l’esecuzione di questa macro comporta la creazione di 25 singoli file della cartella di lavoro di Excel. Ogni cartella di lavoro ha un singolo foglio di lavoro e il nome della cartella di lavoro è lo stesso di quello del foglio di lavoro.
Sub BreakItUp() Dim sht As Worksheet Dim NFName As String Const WBPath = "C:\" For Each sht In ActiveWorkbook.Worksheets sht.Copy NFName = WBPath & sht.Name & ".xls" ActiveWorkbook.SaveAs FileName:=NFName, _ FileFormat:=xlNormal, CreateBackup:=False ActiveWindow.Close Next End Sub
La macro BreakItUp memorizza le nuove cartelle di lavoro nella directory principale sull’unità C :. Se desideri che le tue cartelle di lavoro vengano salvate in una posizione diversa, puoi semplicemente modificare la riga in cui viene creata la costante WBPath.
Dovresti anche sapere che è relativamente facile bloccare questa macro. Ad esempio, se si utilizza un carattere nel nome di un foglio di lavoro che non è “legale” per un nome file, la macro si interromperà bruscamente quando tenta di creare il file. Ovviamente, potresti facilmente apportare le modifiche alla macro per verificare e sostituire tali caratteri illegali.
Un altro potenziale trabocchetto per la macro è che smetterà di funzionare se esiste già un file che ha lo stesso nome di un foglio di lavoro. Ad esempio, supponiamo di avere un foglio di lavoro denominato MySheet1. Se sul disco è già presente un file denominato MySheet1.xls, la macro si interromperà quando tenterà di sovrascrivere il file. È possibile aggirare il problema assicurandosi che non vi siano conflitti di nomi di file nella directory in cui vengono salvate le cartelle di lavoro.
Infine, se la tua cartella di lavoro originale ha formule che fanno riferimento ad altri fogli di lavoro (oltre a quello in cui si trova la formula), allora quelle formule non funzioneranno nelle cartelle di lavoro suddivise. Per questo motivo, ti consigliamo di controllare attentamente ciò che viene creato per assicurarti che le cartelle di lavoro soddisfino le tue esigenze.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (12273) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.
Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: