- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:worksheetsプロパティでエラーが出る)
VBA初心者のためのvlook関数再現についてのエラー
このQ&Aのポイント
- VBA初心者がvlook関数を再現するためにコードを組んだが、エラーが発生した。具体的には、worksheetsプロパティでエラーが発生した。シートがアクティブではないためと思われるが、解決方法が分からない。
- 同一ブックの中にあるAシートのデータをBシートに引っ張りたいが、VBAコードでエラーが発生している。具体的には、Set範囲 = Sheets("A").Range(A1:D100)の行でエラーが発生した。
- VBA初心者がvlook関数をVBAで再現しようとしたが、エラーが発生している。具体的には、シートがアクティブではないためにエラーが発生し、解決策が分からない。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Set 範囲 = Sheets("A").Range(A1:D100) ⇒Set 範囲 = Sheets("A").Range("A1:D100") >検索値 = Sheets("B").Range(i , 9) ⇒検索値 = Sheets("B").Range("I" & i) >Sheets("B").Range(Cells(i,9),Cells(i,9)) ⇒Sheets("B").Cells(i,9)で良いのではないでしょうか。 又、上記のようにRangeとCellsを組み合わる場合、Cellsのオブジェクトが必要で Sheets("B").Range(Sheets("B").Cells(i,9))としないと駄目です。
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No.1
Set 範囲 = Sheets("A").Range(A1:D100) は次のようにします。 Set 範囲 = Sheets("A").Range("A1:D100")
質問者
お礼
ご返答ありがとうございます。 ご指摘の点ですが、実際のマクロではCells指定で書いていたため、転記した際に記載ミスをした模様です。 大変失礼しました。 こちら以外でエラーとなるような事項はないでしょうか? 【誤】 Set 範囲 = Sheets("A").Range(A1:D100) 検索値 = Sheets("B").Range(i , 9) 【正】 Set 範囲 = Sheets("A").Range("A1:D100") 検索値 = Sheets("B").Range(Cells(i , 9),Cells(i , 9))
お礼
ご回答ありがとうございます。 >Sheets("B").Range(Sheets("B").Cells(i,9))としないと駄目です。 まさにこれでした。 Cellsの前にSheetsを入れたら動きました! ありがとうございます。