John ha una colonna di numeri invoice in un foglio di lavoro. Ha una directory sulla rete in cui il personale salva un PDF della fattura effettiva e lo denomina utilizzando lo stesso numero di fattura che si trova nel foglio di lavoro. Ogni numero di fattura nel foglio di lavoro dovrebbe avere un PDF con il nome corrispondente nella directory sulla rete. John sta cercando un modo, all’interno di Excel, per controllare e verificare che esista davvero un PDF per ogni numero di fattura.

Non è possibile eseguire questa operazione utilizzando i comandi Excel incorporati. Tuttavia, puoi creare una macro che eseguirà il controllo per te. Ad esempio, considera la seguente semplice funzione definita dall’utente:

Function FileExists1(sPath As String)

FileExists = Dir(sPath) <> ""

End Function

La routine restituisce semplicemente un valore True o False, in base all’esistenza del file specificato. Il valore passato alla funzione deve includere un percorso completo e un nome file. Ad esempio, se la specifica del file (incluso il percorso) fosse nella cella A1, potresti usare quanto segue in una cella:

=FileExists1(A1)

Tuttavia, potresti non voler inserire il nome completo del percorso nella cella. In tal caso, puoi specificarlo nella formula attuale, in questo modo:

=FileExists1("c:\your\path\here\" & A1 & ".pdf")

Ovviamente, potresti invece specificare il percorso nella funzione definita dall’utente:

Function FileExists2(sFile As String)

sPath = "c:\your\path\here\" & sFile & ".pdf"

FileExists = Dir(sPath) <> ""

End Function

Con una tale funzione potresti facilmente creare una formula nel tuo foglio di lavoro che “contrassegnerebbe” eventuali fatture mancanti dalla directory:

=IF(FileExists2(A1),"","Missing Invoice")

_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 (7512) 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: