在Excel VBA中使用Cells.Find方法时,有没有办法保存/恢复最后一个(用户定义的)搜索词?Excel VBA保存/恢复上一个搜索词
实施例:
- 用户正在搜索 “FOO” 与查找对话框(CTRL-F)。
- 稍后他可以通过简单地按下CTRL-F和ENTER来重复搜索。 (搜索条件依然存在。)
- 但如果宏使用Cells.Find搜索“酒吧”,该搜索词将被替换。
- 现在用户不能再简单地重复搜索“foo”,因为查找对话框以“”栏“作为搜索项开始。
也许用户甚至忘记了他上次搜索哪个单词或数字?在这种情况下,对话框中的旧搜索项将非常有用。
我的Word解决方法很简单:
' // Save the last user defined search term.
strSearchTermBackup = Selection.Find.Text
With Selection.Find
.Text = "bar"
[...]
End With
' // Restore the last user defined search term.
Selection.Find.Text = strSearchTermBackup
不幸的是,这似乎不是在Excel中是可能的。我得到只有编译器错误,如“参数不可选”。
我错过了这里很简单的东西吗?
在此先感谢
用户后确实CTRL-F和excel选择找到的小区,activecell存储到一个变量? – findwindow
你可以在Excel中显示你正在使用的代码吗?注意对象模型是不同的,'.Find'不是相同的语法。这很可能是您有的语法错误,但除非您可以显示您的代码,否则很难排除故障。 –
感谢您的回答。但是存储活动单元格等对我来说并不是解决方案。因为问题不在我的程序运行时搜索某些内容。问题是一些宏在某些事件的后台运行。而令人不安的是CTRL-F显示错误的搜索字词,而用户不知道为什么。 – Futti