我将此代码作为excel宏。
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
只是无法正常工作。为什么?或者,更重要的是,如何修复它?
如果不清楚,我正试图找到下一个等于剪贴板中的值。我引用了MSForms,这不是问题。
如果我将MyData.GetText分配给变量并使用变量,同样的情况发生,MsgBox
有效,但What:=myvariable
没有。
答案 0 :(得分:3)
不确定为什么会这样,但确实如此:
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