「cells.find 見つけた行のa列を選択する」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excel VBA(Visual Basic for Applications)で、Range.Findメソッドで検索を行ってセルが見つかったときに、そのセルではなく同じ行のA列のセルを選択するには、どのようなコードを書けばいいのかを探し検索キーワードです。
「vba findで見つけたセルと同じ行で違う列のセルを指定する」
という検索も、同じようなコードを探していらしたのでしょう。
検索を行ってみつかった同じ行のA列のセルを選択するサンプルマクロ
参考になりそうなシンプルなマクロをご紹介しておきます。
Dim rng As Range
Set rng = Cells.Find(What:="北海道")
If rng Is Nothing ThenMsgBox "見つかりませんでした。"
Else
Cells(rng.Row, "A").Select
End If
End Sub
上記のマクロを実行すると、アクティブなシートで「北海道」という文字列の入力されているセルを探して、みつかったときに、同じ行のA列のセルが選択されます。
サンプルマクロの解説
基本構造は、Range.Findで検索して行を選択するExcelマクロと同じです。
違うのは、Elseキーワード後のオブジェクト式、
Cells(rng.Row, "A").Select
の部分です。
検索を実際に行う、
Set rng = Cells.Find(What:="北海道")
の行が実行されセルが見つかった場合には、オブジェクト変数・rngに見つかったセルを表すRangeオブジェクトがセットされているので、RangeオブジェクトのRowプロパティを使った「rng.Row」というオブジェクト式で、そのセルの行番号が取得できます。
「cells.find 見つけた行のa列を選択する」
ということでしたので、「rng.Row」と文字列「A」をCellsプロパティの引数に指定して、Selectメソッドで選択を行っています。
Home » Excel VBA Rangeオブジェクト » セル検索 » Findで見つけた他の列のセルを選択するExcelマクロ