- ベストアンサー
検索の方法(エクセル マクロ)
マクロは記録マクロしかできない超初心者です。 エクセルのsheet1のA1のセルに入っている内容(都度変更)と同一のセルをsheet2で検索し、カーソルをそこに移動させるマクロ記述をしたいのですが、どうなりますか。 記録マクロで、sheet1のA1をコピーし、sheet2に移動して検索窓で貼り付けて「次を検索」とやったのですが、記述をみるとA1の内容がそのまま記述されていて汎用性が無いようです。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sub tes01() a = Worksheets("Sheet1").Cells(1, 1) Worksheets("Sheet2").Activate Cells.Find(what:=a).Activate End Sub
その他の回答 (2)
- tom11
- ベストアンサー率53% (134/251)
いろいろ制限がありますが、 簡易版として アクティブセルの値をシート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 参考までに
若干の違いはあるかと思いますが、普通に記録すると、 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
お礼
一番シンプルで、私のやりたいことができました。 どうもありがとうございました。