将 Excel 默认设置为在整个工作簿内搜索

将 Excel 默认设置为在整个工作簿内搜索

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

我如何将其设置为默认在整个工作簿中搜索?我有Office 2010。这可能吗?是否可以为特定工作簿或工作表设置此功能?如果需要,我可以编辑注册表。

笔记:近 10 年后,我仍然想这样做,但现在是针对 Excel 2016/2019。

答案1

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

Private Sub Workbook_Open()

Application.CommandBars.FindControl(ID:=1849).Execute
SendKeys "%(h){DOWN}{ENTER}{ESC}"

End Sub

这会为您所在的工作簿的会话进行设置。

要将其始终设为默认设置,您需要创建一个个人宏工作簿

注:原始答案中的旧内容:SendKeys "%(t)%(h)W~{ESC}"

答案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

答案3

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

  2. 单击“查找”

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

  4. 左侧有一个下拉菜单,上面写着“在…之内”

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

网站解释了如何更改默认

答案4

我遇到过类似的问题。我的工作簿中有一个按钮。如果单击该按钮,我希望 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 15 次,以便进入“选项”或“在...内搜索”下拉菜单。

按空格键并

1) 显示选项或 2) 下拉菜单被激活但什么也没发生

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

按两次 TAB,无论如何它都会带您进入下拉菜单中的搜索(因为前面的步骤确保选项确实显示了!)

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

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

希望这能帮助其他遇到类似问题的人。谷歌搜索了很多次,结果却告诉我无法使用 VBA 预先选择“在所有工作簿中搜索”,但这种方法有效!

为了使其适用于不同的语言,您需要检查语言并使用 CASE 切换到具有适当快捷方式的正确例程。

相关内容