Quando si visualizza la scheda Trova della finestra di dialogo Trova e sostituisci (premendo Ctrl + F è il modo più semplice), Excel fa determinati presupposti su ciò che si desidera esattamente cercare. (Vedere la figura 1.) Ciò che si desidera cercare è dettato dall’impostazione dell’elenco a discesa All’interno. Quando si visualizza per la prima volta la finestra di dialogo Trova e sostituisci, All’interno è impostato su Foglio per impostazione predefinita. Questa impostazione è vera indipendentemente dal fatto che si selezioni un foglio di lavoro o più fogli di lavoro prima di visualizzare la finestra di dialogo.

image

Figura 1. La scheda Trova della finestra di dialogo Trova e sostituisci.

Se si desidera che l’elenco a discesa Entro sia predefinito su Cartella di lavoro (anziché Foglio), non è possibile specificarlo in Excel. Puoi trarre conforto dal fatto che l’impostazione dell’elenco a discesa Entro è persistente per la sessione corrente con Excel. In altre parole, se lo imposti su Cartella di lavoro, completi la ricerca e in seguito visualizzi la scheda Trova della finestra di dialogo Trova e sostituisci, la casella All’interno è ancora impostata su Cartella di lavoro.

È interessante notare che, a prima vista, non sembra esserci modo di affrontare questo problema utilizzando una macro. Questo perché Excel non fornisce un modo per una macro per visualizzare e modificare facilmente le impostazioni nella finestra di dialogo Trova e sostituisci. Molte finestre di dialogo possono essere visualizzate utilizzando la raccolta Dialogs, ma non Trova e sostituisci. Invece, VBA ti permette di visualizzare una versione precedente della finestra di dialogo Trova, usando questo codice:

Sub ShowFind1()

Application.Dialogs(xlDialogFormulaFind).Show End Sub

Sfortunatamente, questa versione della finestra di dialogo Trova non dispone di un controllo che consenta di specificare l’ambito della ricerca, come si può fare con l’elenco a discesa All’interno nella scheda Trova della finestra di dialogo Trova e sostituisci.

C’è un modo per visualizzare la corretta finestra di dialogo Trova e sostituisci, ma non è usando la raccolta Dialogs. Invece è necessario aprire la finestra di dialogo utilizzando la raccolta CommandBars, che essenzialmente visualizza la finestra di dialogo utilizzando un comando di menu. Ecco come farlo:

Sub ShowFind2()

ActiveSheet.Cells.Find What:="", LookAt:=xlWhole     Application.CommandBars("Worksheet Menu Bar").FindControl( _       ID:=1849, recursive:=True).Execute End Sub

Il metodo Find consente di impostare i diversi parametri nella finestra di dialogo Trova e sostituisci, quindi si accede all’oggetto CommandBars per visualizzare effettivamente la finestra di dialogo.

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