前回の課題の確認と提出
最初に前回の課題を確認します。
While文を使って個数を数える
今回は20人のデータでしたが、一つのマクロを複数のデータに対して用いる場合は、データによって人数が一定とは限りません。そのような場合のために、マクロの最初で人数を数えましょう。
数える操作は何回繰り返すかが分かっておらず、上から順に見ていって最後に到達するまで繰り返します。
このように、条件を指定して繰り返すにはWhile文を使います。
Do While 条件
この部分が繰り返される
Loop
先ほどのマクロのEnd Subより後に、次のマクロを書いてみてください。
Sub 数える()
j = 1
Do While Cells(j + 1, 2) <> ""
j = j + 1
Loop
人数=j
MsgBox (人数)
End Sub
最後のMsgBox(人数)は、人数という変数の値を表示するマクロです。
Cells(j+1,2)が空っぽではない間は繰り返す、という意味です。
正しく数えられましたか?ずれていた場合はその理由を考えましょう。
配列の大きさを変更する。
人数が分かったので配列を用意するときにDim x(人数)
と書きたいのですが、これではエラーになります。
配列を用意するときの(括弧)の中に変数を書くことは出来ません。
マクロの途中で配列の大きさを変えるには、まず最初に
Dim x()
のように(括弧)の中に何も書かずに
人数を数えた後で
ReDim x(人数)
と書きます。
0 件のコメント:
コメントを投稿