列挙体(ユーザー定義列挙型)Enumを作って楽をするマクロ講座

マクロ講座列挙体(ユーザー定義列挙型)Enumを作って楽をする

列挙体(ユーザー定義列挙型)Enumを作って楽をする
列挙体(ユーザー定義列挙型)Enumを作って楽をする

マクロ 96回

Enum ステートメント 列挙体

VBAのEnumステートメントは、プログラム内で特定のグループの値に名前を付けるために使用される機能です。

Enumを使うことで、プログラムが読みやすくなり、コードの理解がしやすくなります。

Enumは宣言セクションに記入します。数値をそのままプログラム内に書く場合(決め打ち)と比べて、読みやすくまた管理もしやすくなります。


(練習ファイルがダウンロードできます。 練習ファイルの配布)マクロコードは記述されていません。

この記事で学べる内容

  • 1. VBAのEnumステートメントの基本的な使い方と概念を理解できる。
  • 2. Enumを使用することでコードの読みやすさや理解が容易になることを学ぶ。
  • 3. Enumの宣言方法と数値の書き方がわかる。
  • 4. サンプルファイルを用いたEnumの具体的な使用例を見ることができる。
  • 5. Enumを使った転記の実践方法を学ぶ。

あなただけの虎の巻、列挙体(ユーザー定義列挙型)Enumを作って楽をする 詳しく紹介 マクロ中級

静止画像とテキストでは、理解しずらい事もありますので、その時は下記動画をご覧になり参考にしてください。

コード入力の定数に使うと入力がめちゃ楽ちん

  1. Enumって普段あまり使わない言葉かもしれません。でもEnumはマクロのコードが複雑になればなるほど役立つ機能です。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル01
  2. こちらのサンプルでEnumの使用例をみてみましょう。入力用のシートのC列に入力した値がデータベースに蓄積される形です。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル02
  3. 通常はデータを集計表に順番通りに転記するわけです。

    順番どおりの場合のコードをOffset関数を使って書いたケースです。もちろんFor文を使ってループすることも可能です。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル06
  4. データを集計表にそのまま転記する訳ですが、中には、また別の用途のために受け取ったデータの並び順どおりに出力しないケースがあります。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル03
  5. Enumを作った出力コードの書きかたを説明します。nameを分かり易い名前に変更してやります。

    さらに列見出しに列番号を割り当てましょう。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル04

Enumを使ったコードの例

  1. 順番通りではない場合に、その転記先に合わせたEnumを列番号として割り当てます。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル05
  2. 転記先のアドレスが、Cells(trow, col.顧客ID)などのようになっているので、そこには、入力元の対応するnyuuryoku.Value を入れるだけです。

    Cells(trow, col.顧客名).Value = nyuuryoku.Offset(1, 0).Value '顧客名の場合は、転記先のアドレスは、Cells(trow, 7)と書いたことと同じになります。

    Cells(trow, col.フリガナ).Valueの場合は、Cells(trow, 8).Valueと書いたことと同じになります。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル07
  3. 3列目に入れるのは性別なので、Enumの3を割り当てています。同様に都道府県には4としています。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル08
  4. Enumに列番号を割り当てた際の便利さは、コードを書いている人にとって、列番号を気にせずに書けるという点にあります。

    列挙体(ユーザー定義列挙型)Enumを作って楽をする、タイトル09

こちらもおすすめ