由于某些原因,excelmacroscells.find不会使用variables
我有这个代码作为一个Excelmacros。
Dim MyData As DataObject Set MyData = New DataObject MyData.GetFromClipboard MsgBox MyData.GetText On Error GoTo NotFound Cells.Find(What:=MyData.GetText, After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate NotFound:
MsgBox
正确写入该值,但是What:=MyData.GetText
不起作用。 为什么? 或者,更重要的是,如何解决?
如果不清楚,我正在试图find下一个值等于剪贴板中的那个值。 我引用了MSForms,所以这不是问题。
如果我将MyData.GetText分配给一个variables并使用该variables,则会发生同样的情况, MsgBox
工作,但是What:=myvariable
不。
不知道为什么这个工作,但它确实:
Sub test() Dim MyData As DataObject Dim rng As Excel.Range Set MyData = New DataObject MyData.GetFromClipboard Set rng = ActiveSheet.Cells.Find(What:=MyData.GetText, After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False) rng.Activate End Sub