Come si fa a verificare se una cartella esiste e, in caso contrario, a crearla?
In molti flussi di lavoro d’ufficio è spesso necessario verificare l’esistenza di una cartella specifica prima di salvare file o organizzare dati con Excel. Eseguire questa operazione manualmente può rivelarsi dispendioso in termini di tempo, soprattutto quando si gestiscono numerose cartelle o si configurano processi automatizzati. La possibilità di controllare automaticamente se una cartella esiste e crearla all’occorrenza non solo semplifica la gestione dei file, ma contribuisce anche a prevenire errori imprevisti durante l’esportazione dei dati o l’elaborazione in batch.
Questa guida ti illustrerà metodi pratici per:
Verificare se una cartella esiste in un determinato Percorso file tramite codice VBA
Creare la cartella se non esiste in un determinato Percorso file tramite codice VBA
Verificare se una cartella esiste in un determinato Percorso file tramite codice VBA
Un’esigenza comune è verificare se una cartella esiste già in una directory specifica, soprattutto prima di esportare un rapporto, salvare allegati o preparare cartelle per l’elaborazione in batch. Excel non include una funzionalità integrata per controllare direttamente da un foglio di lavoro l’esistenza di una cartella, ma grazie a una macro VBA è possibile rilevare rapidamente la presenza di una cartella in qualsiasi percorso indicato.
Questo metodo è ideale quando devi semplicemente verificare l’esistenza di una cartella senza apportare alcuna modifica al tuo file system. Il codice VBA ti permette di eseguire questo controllo in modo rapido e con risultati immediati.
Procedura operativa:
1. Tieni premuti i tasti ALT+F11 per aprire la finestra di Microsoft Visual Basic for Applications.
2. Fai clic su Inserisci > Modulo, quindi incolla il codice seguente nella finestra del Modulo:
Codice VBA: Verifica se una cartella esiste in un determinato Percorso file:
Sub Test_Folder_Exist_With_Dir()
'Updateby Extendoffice
Dim sFolderPath As String
sFolderPath = "C:\Users\DT168\Desktop\Test folder"
If Right(sFolderPath, 1) <> "\" Then
sFolderPath = sFolderPath & "\"
End If
If Dir(sFolderPath, vbDirectory) <> vbNullString Then
MsgBox "Folder exist", vbInformation, "Kutools for Excel"
Else
MsgBox "Folder doesn't exist", vbInformation, "Kutools for Excel"
End If
End Sub
Nota: Nel codice sopra riportato, devi modificare il percorso del file e il nome C:\Users\DT168\Desktop\Cartella di prova in modo che corrispondano alla directory che desideri controllare. Assicurati che il percorso sia digitato correttamente e includa l’indirizzo completo della cartella.
3. Dopo aver inserito il codice, premi F5 per eseguire la macro. Il risultato verrà visualizzato in una finestra di dialogo che indica se la cartella specificata esiste o meno. Ad esempio:

Questo approccio è particolarmente utile per effettuare controlli preliminari prima di avviare operazioni sui file o esportazioni di dati. Tuttavia, non crea cartelle, quindi utilizzalo quando hai bisogno esclusivamente di un passaggio di rilevamento senza modificare file o directory.
Se devi verificare ripetutamente cartelle diverse per il Percorso del file, valuta di modificare il codice o di richiedere all’utente di inserire dinamicamente il Percorso del file, per una maggiore flessibilità. Controlla sempre con attenzione l’ortografia del Percorso del file e assicurati di disporre delle autorizzazioni appropriate per accedere alla directory, al fine di evitare errori in fase di esecuzione.

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.
Creare la cartella se non esiste in un determinato Percorso file tramite codice VBA
A volte potresti desiderare che Excel non si limiti a verificare l’esistenza di una cartella, ma la crei automaticamente se non è presente, riducendo così al minimo l’intervento umano. Questa soluzione è perfetta per allestire cartelle destinate a output di file automatizzati, assicurando un flusso di lavoro continuo e prevenendo errori causati da directory mancanti.
Questa soluzione è adatta quando desideri che le tue macro o le attività di esportazione dati vengano eseguite senza interruzioni, indipendentemente dallo stato iniziale del tuo Struttura cartella. Aiuta a garantire che tutte le cartelle necessarie siano presenti prima dell’avvio delle operazioni successive.
Procedura operativa:
1. Tieni premuti i tasti ALT+F11per aprire la finestra di Microsoft Visual Basic for Applications.
2. Fai clic su Inserisci>Modulo, quindi incolla il seguente codice nella finestra del Modulo:
Codice VBA: Crea una cartella se non esiste in un Percorso file:
Sub MakeMyFolder()
'Updateby Extendoffice
Dim fdObj As Object
Application.ScreenUpdating = False
Set fdObj = CreateObject("Scripting.FileSystemObject")
If fdObj.FolderExists("C:\Users\DT168\Desktop\Test folder") Then
MsgBox "Found it.", vbInformation, "Kutools for Excel"
Else
fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
MsgBox "It has been created.", vbInformation, "Kutools for Excel"
End If
Application.ScreenUpdating = True
End Sub
Nota: Devi aggiornare nel codice il percorso C:\Users\DT168\Desktop\Cartella di prova e il nome del file in base alla directory effettiva che desideri creare. Controlla attentamente la stringa del percorso per evitare errori di battitura e scegli una posizione in cui disponi dei permessi di scrittura, così da prevenire errori di sistema.
3. Una volta incollato il codice, premi F5 per eseguirlo:
(1.) Se la cartella esiste già, verrà visualizzata una finestra di notifica come nell’esempio seguente:

(2.) Se la cartella non esiste, la macro creerà automaticamente una nuova cartella nel percorso specificato. Un’altra finestra di dialogo ne confermerà la creazione, come illustrato di seguito:

Questa operazione semplificata è ideale per attività ripetitive di esportazione o backup, in cui l’assenza di cartelle potrebbe altrimenti causare errori o interrompere il flusso di lavoro.
Attenzione: VBA potrebbe segnalare errori se tenti di creare una cartella in una directory protetta o inesistente. In tal caso, ricontrolla attentamente il percorso e i tuoi permessi utente.
Suggerimenti precauzionali e risoluzione comune dei problemi:
- Controlla sempre con attenzione il formato del Percorso del filenegli script VBA: i percorsi devono essere corretti e completi, con barre rovesciate ()
\) per separare ogni livello delle directory. - Assicurati di disporre delle autorizzazioni necessarie per la directory: la mancanza di accesso in scrittura potrebbe interrompere l’esecuzione del codice VBA durante la creazione delle cartelle.
- Se esegui il codice su computer diversi, tieni presente che il percorso utente della struttura cartelle (ad esempio, «C:\Users\DT168») varierà: aggiorna quindi tali percorsi di conseguenza.
- Per VBA, valuta di aggiungere finestre di input per consentire all’utente di inserire manualmente i percorsi, rendendo così la tua macro più flessibile e intuitiva.
- In caso di errori come «Percorso non trovato» o «Accesso negato», assicurati che la directory principale esista e sia accessibile.
- È generalmente consigliabile eseguire il backup dei dati importanti e testare la routine VBA su cartelle di esempio prima di applicarla a directory operative.
Integrando questi approcci in base alle tue esigenze specifiche e all’ambiente Excel, potrai gestire efficacemente la verifica e la creazione di cartelle, sia tramite semplici macro che con metodi alternativi di gestione dei file. Ciò contribuisce ad automatizzare compiti ripetitivi, prevenire fallimenti nelle esportazioni e garantire operazioni più fluide nei tuoi flussi di lavoro quotidiani con 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