前提・実現したいこと
VBA:Vlookupで別のブックのすべてのシートを検索範囲に設定する方法
ここに質問の内容を詳しく書いてください。
(例)エクセルVBAでWorkbook("A.xlsm")のA列を検索値として、("B.xlsx")のA列に該当するものがあれば、("A.xlsm")のL列を("B.xlsx")のQ列にコピーするマクロを作成中です。
実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
オブジェクトが必要です。
エラーが出る該当のソースコード
Set SerchRange = ws.Range(ws.Cells(2, 1), ws.Cells(100001, 1))
Sub データ戻す用() Workbooks.Open ("B.xlsx") If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData End If Dim SerchKey '検索値 Dim SerchRange '検索範囲 Dim OutputRange '出力範囲 Dim i As Long Dim ws As Variant For Each ws In _ Array("aa", "bb", "cc", "dd", "ee", "ff") Debug.Print ws Set SerchKey = Workbooks("A.xlsm").Worksheets(2).Range("A2:A100001") Set SerchRange = ws.Range(ws.Cells(2, 1), ws.Cells(100001, 1)) Set OutputRange = Workbooks("A.xlsm").Worksheets(2).Range("L2:L100001") Application.ScreenUpdating = False For i = 1 To SerchKey.Rows.Count OutputRange(i, 1) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, 17, False) Next Next Application.ScreenUpdating = True End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。