回数を減らそう!
「ピンポーン!大正解だ」
八木くんはPCに新しいExcelを起動し、VBEの画面を開きました。
「…さっきもいったけど、問題なのは"セルに値を書き込む回数"なんだ。
おまえの作ったプログラムは、内示数を書き込むべきセルを見つけたら、
その都度セルに書き込んでいる。
…これじゃあ、1つ封筒を作るたびに郵便局に持って行くのと同じことだ。
ここまでOKかい?」
星くんは、フンフンとうなずきました。
「と…いうことはだよ。
セルに書き込む値をどこかに保持しておいて、全て用意したあと一気に書き込むことができれば、
マクロの実行速度は格段に向上する。
これも、オッケーかい?」
星くんが、さらに大きくうなずきます。
八木くんはカタカタと、VBEにコードを記述し始めました。
Sub Test()
Dim v As Variant
v = Range("A1:C2")
Stop
End Sub
「うん。これでいい。あとは…セル範囲A1:C2に値を用意して…」
「…よし、こんなものか。
星、今からこのプロシージャを実行する。
Stopステートメントが記述されているので、4行目でコードの実行が中断するはずだ。
そのとき、ローカルウィンドウで変数vの値をみてみよう。
…おもしろいぞ」
そういうと八木くんは、プロシージャを実行しました。
Stopステートメントが黄色に反転し、デバッグモードになります。
八木くんは[表示]メニューから[ローカルウィンドウ]をクリックし、
ローカルウィンドウを表示しました。※
※ローカルウィンドウを使うと、実行中のプロシージャ内にある、すべての変数の値を確認することができます。
「星、この結果をみて、どう思う?」 「これって、Cellsプロパティにそっくりじゃないか…!」