VBAアセットがプログラミングに採り入れているスタイル(手法)を紹介します。

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

VBEの設定
VBAは、VBEと呼ばれる専用のエディタで読み書きを行います。このVBEを使いこなすことが、VBAを使えるようになるための第1歩です。そのためにおススメする設定をご紹介します。
オプションの変更
「ツール」-「オプション」を開...

値の共有には引数を使用する
引数とは、プロシージャから別のプロシージャを呼び出すときに計算や処理の元となる値を渡す仕組みです。
VBAエキスパート公式テキストのExcel VBAスタンダード(2019年版)には、モジュールレベル変数を利用することで、引数を使用...

一時データファイルを利用してデータを共有する
法律事務所は、データの共有を行っているところが多いと思いますが、その方式は様々です。
電話メモのようなデータベースの場合、単にファイルを共有するだけではなく、同時に編集できることが必要です。これを実現するための方...

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

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

マクロの実行は、イベントプロシージャで行う
VBAを実行するための方法には、いろいろあります。
もちろんイベントプロシージャを勧めるサイトもあります。
VBAアセットは、「一見普...

コードは、シートモジュールに書く
VBAの達人たちは、その多くがマクロのコードを標準モジュールに書くことを推奨しています。
しかし、VBAアセットでは、コードは、シートモジュールに書くというスタイルを採っています。その理由は、次の2つです。
...

変数の宣言は必ず行う
VBAアセットでは、変数の宣言は必ず行うようにしています。
変数を宣言しておくと誤った値が変数に代入された時点でエラーが生じるので、デバッグの際にどこに誤りがあるのかがわかりやすくなるからです。
このため、VBA画面のオプショ...

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