- ベストアンサー
エクセルVBAで困ってます。
エクセルVBAで困っています。 データ入力済みのシートが2つあります。 シート名を「Sheet1」「Sheet2」とします。 「Sheet1」のA列のデータが「Sheet2」のA列のデータと一致した時に それぞれのシートのセル番地を取得したいのですが出来ません。 教えて下さい。 データの並び順は「Sheet1」と「Sheet2」で異なります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
お早うございます。 こんな感じで、如何でしょうか。 Sub セルの番地取得() Dim wR As Long Dim wI As Long Dim wRng As Range Dim wfnd As Range ' 'Sheet2のRange設定 With Worksheets("Sheet2") wR = .Range("A" & Rows.Count).End(xlUp).Row Set wRng = .Range("A1:A" & wR) End With ' 'Sheet1のA列の文字列をSheet2のA列から検索する With Worksheets("Sheet1") wR = .Range("A" & Rows.Count).End(xlUp).Row For wI = 1 To wR Set wfnd = wRng.Find(.Cells(wI, 1).Value) If Not wfnd Is Nothing Then '検索データ有り .Cells(wI, 2) = .Cells(wI, 1).Address '←Sheet1のカラム2にSheet1.番地を表示 .Cells(wI, 3) = wfnd.Address '←Sheet1のカラム3にSheet2.番地を表示 End If Next End With End Sub
お礼
早速の回答ありがとうございます。 無事にセル番地を取得することが出来ました。 分かりやすい記述で大変勉強になりました。 ありがとうございます。