5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
受講生さんの投稿
(投稿ID: 5152)
小川 慶一さんのコメント
(コメントID: 7286)
> 今後の応用の事を考えるとひとまず変数に格納してから結果を書き込む習慣をつけたほうが良いということでしょうか?
この例題の解法解説の中でセルに出力する値を生成するのに変数を使っているのは、そういう趣旨からではありません。
変数で値を作り込んでからセルに値を投入する仕組みにしたほうが、セルの値を上書きすることをくり返すより、以下の点で好ましいからです。
[1] 画面がチカチカしない
[2] 低コストである
[3] 万が一処理が途中で強制終了されてしまったとして、中途半端な値が入っている状態になってしまうのは好ましくない
[1] については、改めての解説は必要ないかと思います。
(例外的に、エクセルマクロに慣れていない人、内部での処理を想像できなさそうな人を驚かす目的であれば、あえて画面更新を頻繁にすることがあります)
[2] について、「低コスト」とは、コンピュータにかける負荷が低いということです。つまりは、高速だということです。
「セルから値を取り出す」よりも「変数に格納されている値を参照する」ほうが高速です。
「セルに値を投入する」よりも「変数に値を格納する」ほうが高速です。
故に、「最終的に投入する値が確定するまではセルには値を投入しない。値が確定した段階で、はじめて投入する」というのが、一般的に望ましいです。
[3] は、エクセルマクロでの処理がなんらかの事情で最後までされなかっだ場合のことを考慮してのものです。
処理がうまくいっていないのに気づかないで、「値が入っているから大丈夫だろう」と、本来入っているべきものとは異なった値が書き込まれた下流工程にエクセルファイルを渡してしまったりするリスクがあります。
最初から値が入っていなければ、処理がうまくいっていないということに気づく可能性は高まるでしょう。
ひきつづきよろしくお願いいたします。
受講生さんのコメント
(コメントID: 7287)
とてもよく理解できました。