【VBA】配列+列挙型を組み合わせて可読性・開発効率アップ!

VBA

配列のどこにどの値が入ってたっけ?

要素数が多かったり、過去に書いたコードなどの配列で中身がどこにあるのかわからなくなったりします。

また、FOR文+IF文でインデックスを求めたりしているかと思います。

 

そんな「配列の中身がわからない」「繰り返し処理でインデックスを調べている」と状況を改善するために、列挙型を使用してみることを検討してみてもよいかもしれません。

ということで、さっそく配列+列挙型を使うことでどれほどの可読性が上がるかを解説していきます。

スポンサーリンク



配列+列挙型を組み合わせたコード

ここでは「配列単体のコード」をまず説明し、そのあとに「配列と列挙型を組み合わせたコード」の説明をします。

なので、前後のコードでどれだけ可読性や開発効率が上がりそうか実感してみてください。

配列単体の場合のコード

下は配列にふたりの人物の情報を入れ、その情報からメッセージボックスで表示するというコードになっています。

 

上のコードでの配列には「姓・名・身長・年齢・体重」のデータが入っています。

そして、最終的にはメッセージボックスに男性の場合は「姓・年齢」、女性の場合は「名・体重」を表示させるという決まりを設けたとします。

 

上の配列では正直、自分はともかく、他人が見たら配列に何が入っているか少し迷うかもしれません。

そして、配列の要素数が増えたり、わかりにくいデータも扱うことになれば、さらに理解に苦しむことになるかもしれません。

一見、「要素数も少ないから簡単だろう」と思うかもしれません。

しかし、たったこれだけの配列要素数にも関わらず、ボクは「あれ、、、体重ってインデックス何番だっけ?」と少し迷いました。

このように「配列はどこに何が入っているか分からない」という問題を抱えていることから、配列を使うことで可読性を損なうかもしれません。

 

配列+列挙型を組み合わせたコード

まず、組み合わせたコードの前に列挙型について知らない方は、1分ぐらいで読めるので『【VBA】列挙型の使い方【宣言・参照の記述を解説します】』に目を通しておいてください。

 

では、上のコードに列挙型を組み合わせると下のようになります。

 

上のコードは記述する量が増えてしまいましたが、それでも配列に入れられる文字列や数値が何なのかは容易に理解できるようになったかと思います。

加えて、それらの値を使うときにも「UserInfo.」と入力すればメンバ表示されるので、とても記述しやすくなるかと思います。

 

このように、配列に列挙型を用いることで可読性と開発効率を向上させることができるといえるのです。

スポンサーリンク

コメント