前回は、クラスモジュールについて説明をしました。
クラスに設計図を作成することは、プロパティの設定をすることです。
しかし、構造体という考え方があり、クラスモジュールと似て居ます。
目次
ユーザー定義変数
こんにちは。伊川(@naonaoke)です。
今回は、ユーザー定義変数について、紹介します。
ユーザー定義関数は、自分で勝手に関数を作成するものです。
同様に、ユーザー定義変数は、自分で勝手に変数を作成するものです。
もちろん、Excelのルールに従うことは言うまでもありません。
しかし、クラスモジュールのように便利です。
コードの書く量は多くなりますが、可読性は、かなり向上します。
但し、現時点の私には、ゲームのキャラ設定くらいしか思いつきません。
これも今後の課題です。
このブログはこんな人にお勧め
- プログラムの可読性を向上させたい人
- ExcelVBAで、初心者から脱皮したい人
- 様々なコードを見てみたい人
このブログを、読み終わるころには・・・・
初心者は、とりあえず、結果が得られたら、いいと思うのですが、やはり、他人が見ても恥ずかしくないコードを書けるようになりたいと思います。
それは、訓練しかないのですが、訓練の1つが、コードを見るということです。
ユーザー定義変数
構造体とは、複数の変数をグループ化したようなものです。関連性のある値をまとめます。
関数やコンストラクタは作成できません。配列にできます。
結局、配列を理解していないいと、VBAは、十分に使いこなせないと思います。
但し、実務レベルでは、配列を知らなくても大丈夫です。
会社の便利なおっさん程度なら、ループくらいは、使えるようになっておけば大丈夫です。
私の場合は、便利なおっさんのはずが、後戻りできにない状態になっています。
今回は、他の配列と、構造体を比較しながら、紹介します。
プログラムの可読性が、向上したことが実感できます。
ユーザー定義変数 作業手順 その1 配列で実装してみる
カンタンな配列を作成しました。
配列がピンと来ない人は、Split関数を勉強してください。
もっとは配列を理解したい人は、私の配列の動画や、ブログを参考にしていただけたら幸いです。
実行すると、上のような結果になります。
VBAを勉強したときは、配列のコードなど、記載できるようになるとは、思っていませんでした。
コードを見るということは、大切なんです。
ユーザー定義変数 作業手順 その2 ユーザー定義変数で作成する
配列よりは、コードは長くなります。
しかし、Name、Age、Mobileを宣言することで、関連性のある値をまとめることができます。
最初に紹介した配列よりも、コードが見やすくなっていると思います。
インテリセンスが利用できるようになります。
インテリセンスとは?
ユーザーで定義した変数を、Excelが予測してくれることです。
たったこれだけのことなのですが、これは便利です。
VBAのスキル向上のためには、少しの出来事に感動するようになりましょう。
ユーザー定義変数 作業手順 その3 ユーザー定義型変数をセルに表現する
ここの書き方も結構、特殊な書き方で、見たことがないと思います。
For j = LBound(myData) To UBound(myData)
Cells(j + 1, 2) = myData(j).Name
Next j
私はこのように記載していましたが、何も起こらず、当惑していました。
このように実装できました。
ユーザー定義変数 作業手順 その4 コードを予測する
赤枠の中が、3から4に変更になります。
キャラクターの設定分だけ、jの掛ける数も変わるということです。
このように、自分である程度の目途を付けて、コードを記載するのも、VBAスキルアップの秘訣です。
ここがポイント
クラスモジュールをもう一度初めから解説しようとおもいましたが、クラスモジュールと似たようなことができる内容を解説しました。
知識は、深堀するのではなく、横断的に覚えることが大切です。
横につなげることで、頭の中で、VBAを体系的に記憶することが可能になります。
まとめ
最近、クラスモジュールや、Typeのことを勉強しています。
コードが長くなっても確かに楽ですね。
このようなスキルを身に着けると、さらにVBAは面白くなるかもしれません。
今回も最後まで読んでいただき、ありがとうございました。
今回のサンプルファイルは、No250です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。