运行以下代码的第一行后,Excel 会更改用户界面中的“匹配整个单元格内容”设置。结果是下一次用户按下Ctrl+F时,搜索将在整个单元格内容中完成。我不喜欢更改影响用户体验的设置的 VBA 宏,因此我总是执行第二行,该行执行另一次搜索并将匹配整个单元格内容设置回其默认值。
'execute the find and changes the entire cell content setting
Set C = MyRange.Find(SomeText, LookAt:=xlWhole)
'put the setting back to the default value (not the previous value)
MyRange.SomeText ParName, LookAt:=xlPart
问题是它将它设置回默认值,而不是用户最后设置的值。
我宁愿有类似的东西:
'store the current entire cell content setting
OldLookAt = Application.FindLookAt
'execute the find
Set C = MyRange.Find(SomeText, LookAt:=xlWhole)
'restore the original setting
Application.FindLookAt = OldLookAt
因为Application.FindLookAt
没找到所以编的。
有没有办法在Range.Find
不影响用户体验的情况下做某事?