Modifica delle impostazioni di ricerca predefinite (Microsoft Excel)
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 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 (8801) 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: