1

このコードを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しません。

4

1 に答える 1

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
于 2013-01-10T21:00:30.713 に答える