当您使用“查找”命令时,Excel默认使用“按行搜索”作为它在查找信息时将使用的顺序。但是,您的需求可能会有所不同;您可能大部分时间都需要按列进行搜索。您当然可以在开始搜索时更改此设置,但是更改默认值以使Excel通过搜索列开始就不是很好吗?

不幸的是,没有可以指定的设置,因此Excel可以记住要进行搜索的方式。但是,您可以使用宏来设置默认的搜索顺序。请考虑以下示例:

Private Sub Workbook_Open()

On Error Resume Next     Cells.Find("", , , , xlByColumns, , , False) = True End Sub

该宏除了将搜索顺序更改为列之外什么也不做。运行它之后(换句话说,打开工作簿之后),后续搜索将默认为按列搜索。

Excel会记住当前Excel会话期间所有后续搜索的最后使用的搜索顺序,这一事实可以为您带来好处。下面的宏与上一示例基本相同,只是它也关闭了工作簿:

Sub Auto_Open()

Worksheets("sheet1").Cells.Find _       What:="", _       After:=ActiveCell, _       LookIn:=xlFormulas, _       LookAt:=xlWhole, _       SearchOrder:=xlByColumns, _       SearchDirection:=xlNext, _       MatchCase:=True

ThisWorkbook.Close savechanges:=False End Sub

如果将此宏放入空白工作簿中,然后将该工作簿保存在xlStart文件夹中,则每次启动Excel时都会打开该宏。

打开后,工作簿将使用所需的设置进行一次搜索,然后自行关闭。最终结果是您的搜索顺序设置为列,随后的搜索将按照您希望的方式进行。

注意:

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

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

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

链接:/ excel-Searching_by_Columns_by_Default [默认情况下按列搜索]。