Dan显示“查找”对话框时,默认设置是在工作表中搜索并查找公式。他希望默认值位于工作簿中并查看值,因此他想知道是否存在更改默认值的方法。

Excel不允许您在“查找”对话框中指定所需的默认设置。但是,有一种方法可以解决此看似有限的问题-至少是部分方法。 Excel会记住整个Excel会话的“查找”对话框中的最后设置。 (在退出并重新启动Excel之前,不会重置设置。)这意味着您需要做的就是创建一个小宏,该宏将在对话框中设置所需的设置。

有两种方法可以执行此操作。第一种是创建一个直接设置对话框中选项的宏,例如:

Sub SetFind1()

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

第二种方法是以这种方式利用Cells对象的Find方法:

Sub SetFind2()

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

End Sub

在某种程度上,这两种方法都可以正常工作。 (稍后将对此进行更多介绍。)您需要做的就是在第一次启动Excel时手动或作为Auto_Open宏的一部分运行宏。然后,除非您手动更改对话框对话框中其余的设置,否则其余的Excel会话都将更改。

现在,到这一点。似乎没有办法更改对话框的“内部”设置。此设置默认为在工作表中查找。您可以将其手动更改为Workbook,Excel会忠实地记住您当前会话的设置。但是,您似乎无法在VBA中更改设置。您会注意到,以上两个示例宏都没有更改此特定设置。此外,如果您记录了一个宏,您在其中更改了两个设置(“内部”和“查找范围”),那么最终将得到以下内容:

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

如果您保存该宏所在的工作簿,请重新启动Excel,然后检查“查找”对话框中的设置(按Ctrl + F),您会注意到这些设置已恢复为在工作表中进行搜索并查找的默认设置。在公式中。运行宏,然后再次查看对话框;您应该看到这些设置是用于在工作表中查找值的;即使将“内部”设置为“工作簿”时,即使您录制了该宏,它也不会设置“内部”设置。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(8802)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: