スタイル

スタイル

バージョン番号を統一する

「スタイル」というほどの話ではないのですが、バージョン番号の付け方が統一できていませんでした。特にこだわりはないのですが、バラバラだと見栄えが悪いので、次のようにすることにしました。VerXYZX:メジャーバージョン。ユーザーの操作が変わる...
スタイル

可能な限りマクロではなくワークシート機能を使う

エクセルのマクロを使い始めると、案外悩むのが、「マクロとワークシートの機能のどちらでも同じことが実現できる場合、そのどちらを使うか」という問題です。ネットを検索すると、この問題について書かれているサイトがいくつも見つかります。いろいろな考え...
スタイル

マクロの中にもワークシート関数をできるだけ使う

VBAには、ワークシート関数を呼び出して使えるようになっています。なんとなく、ワークシート関数「も」使えるみたいな感じで、おまけの機能のように思われがちですが、そうではありません。例えば、ある文字列が入っているセルの行番号を求める場合、Fo...
スタイル

セルには名前をつける

VBAからワークシートのセルを操作する場合、Range("A1")のようにセル番地を使うのが一般的です。しかし、VBAアセットでは、セルに名前をつけてRange("番号")のようにして指定するのを基本としています。その理由は、ワークシートが...
スタイル

変数の命名には、ハンガリアン法を用いる

変数の命名法については、VBAの達人たちの間でも、いろいろな考え方があるようです。極端な例としては、漢字を使う方もいます。VBAアセットでは、ハンガリアン法を用いています。理由については、こちらの記事に書かれているとおりです。また、カウンタ...
スタイル

イベントは連鎖させない

イベントプロシージャの一番の問題点は、イベントの連鎖をコントロールしなければならないことです。「あるセルの値が変わる」→「イベントが起動する」→「別のセルの値が変わる」→「イベントが起動する」というようにイベントが連鎖すると、最悪の場合それ...
スタイル

マクロの実行は、イベントプロシージャで行う

VBAを実行するための方法には、いろいろあります。もちろんイベントプロシージャを勧めるサイトもあります。VBAアセットは、「一見普通のエクセルのシートに見えるが、その裏でマクロが働いて、便利な機能を発揮している」という「羊の皮をかぶった狼」...
スタイル

イベントの抑止に併せて、処理速度向上処理を行う

イベントの抑止が必要なことは、別の記事で説明しました。ここでは、その際にマクロの処理速度向上の処理を合わせて行うことを説明します。具体的には、次のようなコードを利用しています。Sub DsblEvents()With Application...