• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで B.xlsの番号と同じ番号がD.xlsにあればくっつけたい)

VBAでB.xlsの番号と同じ番号がD.xlsにあればくっつけたい

このQ&Aのポイント
  • VBAでB.xlsの番号と同じ番号がD.xlsにあればくっつけたいという要件があります。エクセル関数のVlookUPを使用したいが、1004エラーが発生しています。
  • 必要な部分を抜き出していますが、エラーが発生しているため、解決方法を教えていただきたいです。
  • 詳細な説明が不十分なため、初心者向けの説明をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

エラー番号だけはなく、エラーのメッセージも表示すべきでしょう。 ま、それは置いといて、、、、 エクセルのバージョンは、2007より前(2003とか)を使ってませんか? 使ってますよね? >For m = 2 To ▼300000▼ この300000がエラーの原因です。 最大65536です。(因みに、2007以上は、100万以上)   で、どのバージョンでも使えるようにデータの最終行を求めて処理するといいでしょう。 '------------------------------------------- Dim LastB As Long '●B.xlsのA列データ最終行 Dim LastD As Long '●C.xlsのA列データ最終行 LastB = Workbooks("B.xls").Sheets("Sheet1").Cells(Cells.Row, 1).End(xlUp).Row LastD = Workbooks("D.xls").Sheets("Sheet1").Cells(Cells.Row, 1).End(xlUp).Row For k = 2 To LastB   For m = 2 To LastD  ==以下質問書のコード== '----------------------------------------- 以上です。  

RENTAOSAKA
質問者

お礼

ありがとうございます。 次回よりエラーメッセージも記載します><;すみません。。。 最終行の求め方までありがとうございます。 確かにエクセル2000を使ってます^^; 計算をすれば、時間もかからないですし、いけました<(__)> 計算を考えずズボラをして適当な上限をいれたのが間違いだったようですね><; ありがとうございました<(_ _)>