- ベストアンサー
エクセルVBAで別ブックの条件検索
- VBA初心者の方が、エクセルVBAを使って別のブックの条件検索を行いたい場合の解決方法を教えてください。
- 検索条件シートで指定したブックとシートに対応するデータをVlookup関数を使って抽出し、出力先シートのセルに表示する方法を教えてください。
- エラー438が出て実行できない場合の解決方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「Select Case ブック」からエラーヵ所までは以下の様に修正するとよろしいかと思います。 Select Case ブック Case 1 Set wb = Workbooks("Book1.xlsm") wb.Activate Select Case シート Case 1 Set sh = wb.Worksheets(1) Case 2 Set sh = wb.Worksheets(2) Case Else MsgBox "・・・・・", vbExclamation, "nothing" End Select Case 2 Set wb = Workbooks("Book2.xlsm") wb.Activate Select Case シート Case 1 Set sh = wb.Worksheets(1) Case 2 Set sh = wb.Worksheets(2) Case Else MsgBox "・・・・・", vbExclamation, "nothing" End Select Case 3 Set wb = Workbooks("Book3.xlsm") wb.Activate Select Case シート Case 1 Set sh = wb.Worksheets(1) Case 2 Set sh = wb.Worksheets(2) Case Else MsgBox "・・・・・", vbExclamation, "nothing" End Select Case Else MsgBox "nothing", vbExclamation, "nothing" End Select Set set範囲 = sh.Range("A4:E42") ' ←エラー438
その他の回答 (1)
- kybo
- ベストアンサー率53% (349/647)
wb.Activate でご自身でアクティブにしているからでは?
お礼
すみません。わたしがアクティブにしていました。 やはりデータの抽出は上手くいきませんでした。 VlookupでなくFindを用いた方がよろしいのでしょうか? お手数お掛けして申し訳ございません。
お礼
迅速な回答ありがとうございます。 回答の通り実行しました。デバッグはなくなりましたが、データのあるシートがActiveになり、 データはシートに抽出することができませんでした。