将Excel设置为默认情况下在整个工作簿中搜索


12

在Microsoft Excel中,当我使用CTRL+ 搜索时F,默认情况下,它仅在当前工作表中搜索。

默认情况下,如何设置它在整个工作簿中搜索?我有Office 2010。这有可能吗?是否可以为特定的工作簿或工作表设置此设置?如果可以的话,我可以对注册表进行编辑。

注意:将近10年后,我仍然想这样做,但现在适用于Excel 2016/2019。

Answers:


3

您可以使用ThisWorkbook模块中的Workbook_Open宏来执行此操作,如下所示:

Private Sub Workbook_Open()

Application.CommandBars.FindControl(ID:=1849).Execute
SendKeys "%(t)%(h)W~{ESC}"

End Sub

这将为您所在的工作簿的会话设置它。

要使它始终是默认设置,您需要创建一个Personal Macro Workbook


1
我宁愿不为此使用宏。
Joel Coehoorn

2
@Joel,设置很可能会存储在Excel的.pip文件中,该文件很容易找到,但是是二进制文件,而且我无法为其找到特定的编辑器(那将是一个不错的项目)。您可能会得到一个标准的十六进制编辑器并进行计算,但这将是一个项目。
兰斯·罗伯兹

2

我进行了修改,因此如果您的Excel是西班牙语(例如我的西班牙语),它将可以使用

Private Sub Workbook_Open()

Dim lCountryCode As Long
lCountryCode = Application.International(xlCountryCode)

Application.CommandBars.FindControl(ID:=1849).Execute

Select Case lCountryCode
Case 34 'spanish
    SendKeys "%(p)%(D)L~{ESC}"
Case Else 'default english
    SendKeys "%(t)%(h)W~{ESC}"
End Select


End Sub

0
  1. 在主页功能区中选择“查找/选择”图标

  2. 点击查找

  3. 点击右下角的“选项”框

  4. 左侧有一个下拉菜单,显示为“在...内”

  5. 选择“表格”或“工作簿”

站点说明了如何更改默认值


1
这不起作用,有两个原因。首先,此选项未随每个文档一起保存。打开电子表格,进行更改,保存电子表格,关闭Excel,重新打开电子表格,一切恢复原样。其次,即使它确实与文档一起保存,我也必须打开很多不是在我的计算机上创建的文档,因此在创建它们的原始计算机上将具有(错误的)设置。
Joel Coehoorn

0

不建议使用其他答案建议的Sendkeys命令。过去的Sendkeys命令导致了非常意外的动作,您可能必须重新启动计算机才能进行恢复。我建议将例程设置为本地,然后仅按需执行。为了方便起见,您还可以为其分配一个cntl键,例如“ q”。将记住“内部工作簿”选项以平衡会话。

Sub myFind()
  Application.CommandBars.FindControl(ID:=1849).Execute
  SendKeys "%(t)%(h)W~+{Tab}+{Tab}"
End Sub

0

我有一个类似的问题。我在工作簿中有按钮。如果单击该按钮,我希望excel无论如何都可以使用已选择的“在所有工作簿中搜索”选项而不是默认的“在工作表中”选项来打开查找对话框。

此外,我希望按钮能够工作,而不必隐藏或显示选项,而无论有人是否手动进行了更改。这很棘手,因为Excel默认情况下不会在启动时显示选项,但会记住并在下次显示时再次显示(如果有人以前显示过这些选项)。

为了确保击键正常工作,我们需要一系列击键来设置设置,而与初始状态无关。进行了很多修改,但我发现了一个可行的方法。

这是我的Excel英文版代码,对于其他语言,您必须相应地更改键。

 Sub Commanbutton_Click()

      Cells(1, 1).Select

       SendKeys "^f", True
       SendKeys "{TAB 15}"
       SendKeys " ", True
       SendKeys "%t%t", True
       SendKeys "{TAB 2}", True
       SendKeys "{DOWN}{DOWN}{ENTER}", True
       SendKeys "%t%t", True

  End Sub

您可以手动尝试:

按CTRL + F进行查找对话框。按Tab十五次,以便您进入“选项”或“内部搜索”下拉菜单。

按空格键,或者

1)显示选项,或2)下拉菜单被激活,但没有任何反应

按两次Alt + T将光标重置到“查找”输入框

两次按TAB键,无论如何都将带您在下拉列表中进行搜索(因为前面的步骤确保实际上显示了这些选项!)

按两次向下箭头以选择“工作簿”,然后按ENTER选择

按ALT + T两次,将光标再次重置到“查找”输入框。

希望这可以帮助其他有类似问题的人。很多Google追踪人士只告诉我,无法使用VBA预先选择“在所有工作簿中搜索”,但是这种方法有效!

要使其与不同的语言一起使用,您需要检查语言并使用CASE来使用适当的快捷方式切换到适当的例程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.