和風スパゲティのレシピ

日本語でコーディングするExcelVBA

変数・定数

英訳してはいけない変数名第3位「専門用語」

英訳してはいけない変数第1位のワークシート、第2位の列見出し名ときて、最後は「専門用語」です。ExcelVBAを用いて業務を効率化せんとするみなさんはその道のプロです。プロ同士の繊細な意思疎通を図るためにも、専門用語はそのまま変数名にしましょう。

英訳してはいけない変数名第2位「列見出し名」

今回は日本語変数に関するお話です。第1位のワークシートに続き、列見出し名が日本語だった場合は、その変数名をわざわざ英訳してはいけません。特にEnum定数などは、入力も日本語の方が簡単なコードですので、しっかり一致させたコードを書きましょう。

列番号のEnum定数コードを自動生成するマクロ

表形式のデータを定数で定義するとき、Enum(列挙型)定数が便利ですが、毎回書くのは面倒なので、マクロをマクロに書いてもらいましょう。見出し範囲を選択して実行すると、イミディエイトウィンドウにコードを生成して出力するマクロです。

ワークシートのオブジェクト名をマクロで設定する

ワークシートのオブジェクト名をマクロで設定する方法を紹介します。シートオブジェクト名での指定は便利なのですが、設定が面倒なので、それを「アクティブシートのオブジェクト名を、シート名と同じ名前にする」マクロでやってしまおうという魂胆です。

英訳してはいけない変数名第1位「ワークシート」

今回は日本語変数に関するお話です。単刀直入に、シート名が日本語だった場合に、その変数名をわざわざ英訳してはいけません。VBAではワークシート名もソースコードの一部です。同じオブジェクトの変数名は、すべてのコードで同じ単語を当てましょう。

変数の型「Long」と「Integer」の違い

VBAの変数の型である「Long型」と「Integer型」の違いを解説します。両者とも整数を扱いますが、箱の大きさが違います。使うのは常にLong型でOKです。Integerの方がメモリを使わなくて地球にやさしそうですが、気にするレベルではありません。

VBAではカウンタ変数に「i」を使うな

Cells(i, 1)をもうやめて、Cells(R, 1)こうしませんか?という話です。複数のオブジェクトを扱う場面が多いExcelVBAにおいて「カウンタ変数は何のカウンタかわかるように命名する」ことは、とても重要なコーディング規約なんじゃないかと思います。

セルの文字色・背景色を列挙型Enumで記憶する

セルの文字色・背景色を設定するとき、色コードやRGBを調べなくてはいけません。初回はしょうがないのですが、何度も使う色は定数などで持っておきたいところです。この色の記憶に列挙型変数(Enum)がとても便利なので、ぜひ活用してみてください。

列挙型変数(Enum)の使い方 - 基本構文とサンプルコード

列挙型変数(Enum)の基本構文の書き方と、主な使い方について解説します。列挙型変数は数値(Long)の定数をまとめて定義するしくみです。根本的な使用目的は定数と同じです。直打ちの数字を無くすことで、読みやすくて、変更に強いコードを書くために使います。

定数の使い方 - 基本構文とサンプルコード

定数(Const)の基本構文の書き方と、主な使い方について解説します。例えば「消費税」が変更になったとき、プログラム中のすべての「0.08」を「0.1」にするのはとても大変です。これを定数にすることで、最初の宣言部だけ変更すればよくなります。

アプリケーションハンガリアン+日本語は最強の変数名だ

アプリケーションハンガリアンと日本語変数はとっても相性が良くて、区切りと役割がはっきり分かれて読みやすい上に、キーボードの日本語入力をOFFのままで日本語変数を使えるよ。というお話です。最終目的のgifアニメを張りますので見てみてください。

定数を使って読みやすく変更に強いマクロを書く

データを扱うマクロで、セルの指定をCells(R, 4)やRange("D" & i)のように書いていませんか?列の挿入や削除に対応するのが、すごい面倒と感じている方は必見です。定数を使えば、このマクロを劇的に「読みやすく、変更に強く」することができます。

変数を日本語にすればプログラミングが上達する

変数名・関数名などの識別子は、英語を使う明確な理由がない限り、なるべく日本語で命名するべきです。日本語変数を使うことで、翻訳に労力を割かなくなり、コードが読みやすくなり、全体の流れに集中できるようになり、プログラミングの上達が早くなります。