スタイル

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

スタイル

変数の宣言は必要な場合にだけ行う

VBAアセットも、これまでは変数の宣言を必ず行ってきました。変数を宣言しておくと変数名の入力の間違いを防止できますし、併せて型を指定しておくと変数値の入力を誤った場合にどこに誤りがあるのかがわかりやすくなります。このため、VBEのオプション...
スタイル

ユーザーフォームの表示位置は手抜きで設定する

エクセルVBAのユーザーフォームは、エクセルの中央に表示されるのがデフォルトになっています。 しかし、セルをダブルクリックして入力値をユーザーフォームから選択するような場合、ダブルクリックしたセルの近くにユーザーフォームを表示させたくなりま...
スタイル

編集中の行以外のセルにはロックをかける

エクセルを共有している場合、自分が編集しようと思っているセル以外を書き換えてしまうリスクがあります。特に外部データベースにデータを保存している場合は、Ctrl+Zを使った復元ができない場合もあるので問題です。 このため、VBAアセットでは、...
スタイル

テーブルへの配列の代入は間接的に行う

エクセルVBAの処理を高速化するためには、「配列を使う」ことが推奨されています。 ただし、この記事でも強調されているとおり、高速化の鍵は「配列をセルに代入する」ことです。 一方、VBAアセットでは、「テーブルを使う」ことを推奨しています。 ...
スタイル

For Each 構文でワードVBAを高速化する-速度比較ワード版

エクセルVBAの高速化については、さまざまな記事がネット上に公開されています。 エクセルVBAについては、条件にもよりますが、「Do While」も「For Next」も「For Each」も大差はなく、より高速化を図りたければ「配列」を使...
スタイル

シートやドキュメントに変数を保存する

変数はマクロの中に置くのが当たり前です。でも、VBAはエクセルのシートやワードのドキュメントと値のやり取りができますから、シートやドキュメントを保存場所にすることもできます。 マクロのなかでもPublic変数を使えば、どのモジュールのプロシ...
スタイル

変数や処理をまとめたくなったらクラスを使う

実は、クラスモジュールは、今まで使ったことがありませんでした。「使わなくてもできないことは何もない」からです。 ところが、先日、ある方が使っているのを見て、「なんかカッコいいな~」と思ってしまったのです。そもそも「クラスモジュールとは何なの...
スタイル

標準モジュールは複数使用する

VBAアセットでは、「コードはシートモジュールに書く」ことを推奨しています。 だだし、上の記事にも書いているとおり、テンプレートやアドインのように自分自身以外のファイルを操作する場合は、標準モジュールを使わざるを得ません。 「公用文テンプレ...
スタイル

リストの種類を把握する

この段落に適用されているリストは? ワードVBAについては、エクセルVBAに比べると情報量が少なく、「これをやるにはどうしたら良いの?」という疑問を書籍やネットで解決するのがなかなか難しいです。 本サイトに掲載している「公用文テンプレート」...
スタイル

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

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