• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:このページで紹介されているVBAを動かすには)

VBAで複数のシートのデータを1枚のシートにまとめる方法とは?

このQ&Aのポイント
  • このページでは、VBAを使って複数のシートのデータを1枚のシートにまとめる方法について紹介しています。
  • しかし、最近エクセルのバージョンが変わったせいか、以前動いていたコードがエラーを出して動かなくなっています。
  • エラーメッセージによると、実行エラー1004が発生し、16行目で止まってしまっています。詳しい方に対策方法を教えていただきたいです。

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

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

コードをちょこっと見てみましたが、前提が間違っています。 >「全シートにA1セルからデータがあるという大前提の下でのコード」 は間違いで、 少なくとも、A1、A2の2つのセルにデータがないといけません。 それをチェックしてみましょう。 以上です。  

bari_saku
質問者

お礼

ご回答ありがとうございます。 こちらの回答が大きなヒントとなり、解決いたしました。

その他の回答 (2)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

止まった時に、処理中のシートがアクティブになり、コピー元セル範囲も選択された状態になっているはずです。 その範囲がどういう状態になっているか確認しましょう。 もし1行しか選択されていなければ Selection.Rows.Count は 1 になります。 Selection.Rows.Count - 1 は 0 です。 Selection.Resize(0) ...0行にリサイズする事はできません。

bari_saku
質問者

お礼

ご回答ありがとうございます。 こちらがヒントになり、解決いたしました。

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.1

全シートにA1セルからデータがあるという大前提の下でのコードですから、データのないシートが含まれていたり、A1セルにデータがないシートがあったりするとエラーとなります。また、データ数がExcelの最大行数65536を超えた場合もエラーとなります。 ↑出所のサイトに記載されている注意には該当していないのですか?

bari_saku
質問者

お礼

ご回答ありがとうございます。 質問文にありますとおり、「全シートにA1セルからデータがあるという大前提の下でのコード」という条件は満たしています。また全てのシートの行数を足しても2000行未満です。

bari_saku
質問者

補足

補足します。 不思議なことに、URLのサンプルデータは問題なく動きます。 一方、当方のデータはA1セルは全て埋まっておりますが、それ以外は所々空欄があります。 もしかして、それが原因なのでしょうか…

関連するQ&A

専門家に質問してみよう