• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAの勉強を始めました。教えてください。)

エクセルVBAの勉強中!マクロでの連続印刷について教えてください

このQ&Aのポイント
  • エクセルVBAの勉強中なのですが、マクロでの連続印刷方法が知りたいです。
  • For~Nextステートメントを使って連続印刷を行いたいのですが、マクロ内のTo以下が数字ではないことについて疑問があります。
  • また、Application.WorksheetFunction.とは何なのかも教えていただきたいです。初心者にはわかりにくいです。

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

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

■「伝票カウンタ」? For~Nextでは、ループを回すとき、 「今何回目のループなのか」を数えるために、よく変数を使います。 For i = 1 to 100 (ループ処理) Next i この例では、ループを100回まわすのですが、 ループ回数は「i」という変数に格納されます。 今回の質問では変数名が漢字だったので、ピンとこなかったのでしょうね。 (漢字の変数名はあまり感心しませんが。) ■どうしてTo以下が数字になっていないのですか Toの後に数字を指定すれば、たとえば先ほどの例のように 100回なら100回まわして終了、という処理になります。 しかし、処理の内容によってはループ回数が一定でない、 つまり「実行するときにならないと回数を決められない」という処理もよくあります。 たとえば学級ごとの生徒の人数だけループしたい、 というようなプログラムでは、 すべてのクラスが30人なら30人で決まっていればよいですが、 バラバラな場合がほとんどです。 質問の例では、ループの上限回数を、ワークシート関数で求め、 可変できるような仕組みにしています。 ■Application.WorksheetFunction これは、VBAの中で「ワークシート関数」を使うときに使用する呪文です。 質問の例で言うと、「COUNT関数」を使用するために使っています。 具体的には、A4:A13のセルに入っている数値の個数をCOUNT関数でもとめ、 その個数分、ループを回すというマクロになっています。

ransuke
質問者

お礼

 ご丁寧なご回答をありがとうございました。もっと早くお礼を申し上げたかったのですが、何度アクセスしてもサーバ負荷とかという表示が出てきてアクセスできずに困っていました。わかりました。そういうことでしたか。初心者にとっては戸惑っていました。

すると、全ての回答が全文表示されます。

関連するQ&A