Quando Dan visualizza la finestra di dialogo Trova, le impostazioni predefinite prevedono la ricerca all’interno del foglio di lavoro e la ricerca nelle formule. Vorrebbe che l’impostazione predefinita fosse all’interno della cartella di lavoro e guardasse nei valori, quindi si chiede se esiste un modo per modificare l’impostazione predefinita.

Excel non ti consente di specificare le impostazioni che desideri come impostazione predefinita nella finestra di dialogo Trova. Tuttavia, esiste un modo per aggirare questa apparente limitazione, almeno in parte. Excel ricorda le ultime impostazioni nella finestra di dialogo Trova per l’intera sessione di Excel. (Le impostazioni non vengono ripristinate finché non esci e riavvia Excel.) Ciò significa che tutto ciò che devi fare è creare una piccola macro che imposterà le impostazioni desiderate nella finestra di dialogo.

Ci sono due modi per farlo. Il primo è creare una macro che imposti direttamente le opzioni nella finestra di dialogo, come questa:

Sub SetFind1()

Application.Dialogs(xlDialogFormulaFind).Show,2,2 End Sub

Il secondo modo è utilizzare il metodo Find dell’oggetto Cells, in questo modo:

Sub SetFind2()

Dim c As Range     Set c = Cells.Find(What:="", LookIn:=xlValues, LookAt:=xlPart)

End Sub

Entrambi funzioneranno perfettamente, fino a un certo punto. (Maggiori informazioni in un momento.) Tutto quello che devi fare è eseguire la macro al primo avvio di Excel, manualmente o come parte di una macro Auto_Open. Le impostazioni nella finestra di dialogo vengono quindi modificate per il resto della sessione di Excel, a meno che non vengano modificate manualmente.

Ora, al punto. Sembra che non sia possibile modificare l’impostazione All’interno della finestra di dialogo. L’impostazione predefinita di questa impostazione è guardare nel foglio di lavoro. Puoi cambiarlo manualmente in Cartella di lavoro ed Excel ricorderà diligentemente l’impostazione per la sessione corrente. Tuttavia, non è possibile modificare l’impostazione all’interno di VBA. Noterai che nessuna delle macro di esempio sopra, modifica questa particolare impostazione. Inoltre, se registri una macro in cui modifichi le due impostazioni (Dentro e Cerca dentro), ti ritroverai con qualcosa che assomiglia a questo:

Sub Macro1()

' ' Macro1 Macro ' '     Sheets("Sheet1").Select     Cells.Find(What:="", After:=ActiveCell, LookIn:=xlValues, _         LookAt:=xlPart, SearchOrder:=xlByRows, _         SearchDirection:=xlNext, MatchCase:=False).Activate End Sub

Se salvi la cartella di lavoro in cui esiste questa macro, riavvia Excel e quindi esamini le impostazioni nella finestra di dialogo Trova (premi Ctrl + F), noterai che le impostazioni sono tornate ai valori predefiniti di ricerca all’interno del foglio di lavoro e di ricerca nelle formule. Eseguire la macro e quindi esaminare nuovamente la finestra di dialogo; dovresti vedere che le impostazioni servono per cercare i valori all’interno del foglio di lavoro; la macro non imposta l’impostazione All’interno, anche se l’hai registrata quando hai impostato All’interno su Cartella 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 (8802) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: