Excel vba查找功能缺失部分

时间:2015-03-27 16:54:57

标签: excel-vba vba excel

我想完成一些可能非常简单但我无法找到此文档和我需要的参数的文章。

这是在Excel中。

我将此代码附加到按钮上:

Sub Search_Click()
    ActiveSheet.Cells.Find What:="asdf", LookAt:=xlWhole
    Application.CommandBars("Worksheet Menu Bar").FindControl( _
    ID:=1849, recursive:=True).Execute
End Sub

打开标准搜索功能,用“asdf”进行搜索。我想将其设置为在整个工作簿中搜索,然后执行搜索。

我可以为此添加什么。我很擅长使用VB,但我对编码很有兴趣。

感谢任何可以提供帮助的人。

1 个答案:

答案 0 :(得分:0)

ActiveSheet.Cells.Find(What:="asdf", LookAt:=xlWhole)

实际上会执行.Find()命令,它不会打开“查找”对话框并等待您执行某些操作。正如我正在阅读您的代码,这将成为

Application.CommandBars("Worksheet Menu Bar").FindControl( _
   ID:=1849, recursive:=True).Execute

行冗余

.Find()执行时,它返回一个指向它找到的范围的范围,所以通常的调用类似于:

Dim rng as Range
set rng = ActiveSheet.Cells.Find(What:="asdf", LookAt:=xlWhole)
if rng is nothing then
  'nothing found, handle that here
else
  'found it! process appropriately
end if