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 usi un carattere nel nome di un foglio di lavoro che non è “legale”

per un nome di 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.

_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 (2230) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: