• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel2000のVBAでループ内でループさせる方法)

Excel2000のVBAでループ内でループさせる方法

このQ&Aのポイント
  • Excel2000のVBAを使って、ループ内でループさせる方法を知りたいです。
  • ループ内でループさせたいと思って以下の構文を使っていますが、エラーメッセージが表示されてしまいます。
  • 構文の間違いを教えていただけると助かります。

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

  • ベストアンサー
  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.4

まずご質問の件、 "Nextに対するForがありません"ですが、これはループの構造がおかしいときに出ます。 For~Nextの入れ子をするときに、 For x For y Next y Next x のような構造なら問題ないですが、 For x For y Next x Next y のように交差したループになっていませんか? 提示されたコードは抜粋のようですが、これはコード全体を見ないと判断できません。 (提示されたコードに限って言えば、このNextに対するForがありませんというエラーを発生さえる要素はないようです。) あと、おせっかいかもしれませんが、このエラーを克服しても、この書き方では、お望みの動作はできないと考えられます。 具体的には、貼り付けの前のコピーがなかったり、 請求書をActivate・Closeさせるタイミングなど・・・ もう一度どんな順番で実行されるか、目で追ってみると良いと思います。

mako438
質問者

お礼

わかりやすい説明ありがとうございます。 最初単純なループとIFの組合せで作成していたのですが あまりに構文が長くなってしまった為急遽記述し直したので全体が良く見えなくなっている可能性がありましたので もう一度見直してみます。

その他の回答 (3)

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.3

#1の回答者です。補足をお願いします。 1)このマクロは、どのブックに書かれているのですか? 2)このマクロに書かれているブック ・回送依頼(通常と翌月).xls ・回送依頼(当日).xls ・請求書.xls は、 最初から開いた状態でこのマクロを実行するのですか?

mako438
質問者

補足

すみません。説明不足でした。補足します。 1)マクロの書かれているブックは請求書.xlsです。 2)マクロに書かれているブックはこちらに記述した 前のステップでopenさせています。 ※ループ内のループをprivate subで外だししても 同様にエラーが出てしまいます。実際には外のループを 4回、内のループを4回廻したいのですが・・・

  • you111111
  • ベストアンサー率45% (20/44)
回答No.2

内側のループを適当なSubでも作って外だしにしてみたらどうでしょう?

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.1

ActiveWorkbook.Close の行を、ループの外に出してみてはいかがでしょう。

関連するQ&A