• ベストアンサー

検索の方法(エクセル マクロ)

マクロは記録マクロしかできない超初心者です。 エクセルのsheet1のA1のセルに入っている内容(都度変更)と同一のセルをsheet2で検索し、カーソルをそこに移動させるマクロ記述をしたいのですが、どうなりますか。 記録マクロで、sheet1のA1をコピーし、sheet2に移動して検索窓で貼り付けて「次を検索」とやったのですが、記述をみるとA1の内容がそのまま記述されていて汎用性が無いようです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

Sub tes01() a = Worksheets("Sheet1").Cells(1, 1) Worksheets("Sheet2").Activate Cells.Find(what:=a).Activate End Sub

radiojack
質問者

お礼

一番シンプルで、私のやりたいことができました。 どうもありがとうございました。

その他の回答 (2)

  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

いろいろ制限がありますが、 簡易版として アクティブセルの値をシート2で、一つだけ 検索して、そのセルに飛ばす。 Public Sub ff() Dim a As Variant Dim r As Range 'アクティブセルの値を代入 a = ActiveCell.Value 'シート2からアクティブセルと同じ内容を探し 'その番地を得る Set r = Sheet2.Cells.Find(a) '得た番地に移動 Sheet2.Application.Goto r End Sub 参考までに

noname#123709
noname#123709
回答No.1

若干の違いはあるかと思いますが、普通に記録すると、 Cells.Find(What:="m", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows,SearchDirection:=xlNext,MatchCase:=False) _ .Activate となりますよね? What:="m"nの部分を下記のように直します。 What:=Sheets("sheet1").Range("A1").Value

関連するQ&A