最近、クラスモジュールに、ハマっています。

クラスモジュールを利用する際に、collectionオブジェクトを利用することがあります。

そういえば、説明していなかったと思いました。

スポンサーリンク

色々なものをコレクションする

 

こんにちは。伊川(@naonaoke)です。

VBAを、勉強するにつれて、色々な技を身に着けてきます。

すると、だんだん、一括処理と、コードを短くするということが、楽しくなってきます。

行きつくのは、配列等になるのでしょう。

その中でも、Collecitonオブジェクトに、最近触れることが多いです。

ここを説明しないと、クラスモジュールの説明の際に、いきなり、Collecitonが登場しますので、今回、説明をしようと思います。

連想配列的な側面もありますが、連想配列ほど、難しくないです。

スポンサーリンク

このブログはこんな人にお勧め

今回のテーマ
  • VBAの勉強が好きな人
  • 効率的をしたい人
  • コードを短くしたい人

このブログを、読み終わるころには・・・・

このブログの結論
Collecitonオブジェクトは、クラスモジュールに似ているとおもうはずです。
多分、クラスと、Collecitonオブジェクトを組合わせるともっと便利になると思います。
スポンサーリンク

Colleciton

 

Collectionオブジェクトとは項目(item)とキー(key)をセットで格納するオブジェクトのことです。

Collectionオブジェクトの要素には数値、文字列からオブジェクトまで格納することができます。

要素ごとに数値や文字列などデータ型が異なる場合でも1つのコレクションとしてまとめておくことができます。

ただし、キーを重複させることはできません。

 

Naosuke

要するに、1つの箱の中に、複数の要素を格納できるイメージです。

オブジェクトとか、変数とか、またこれかと思う人もいると思います。

それは、あなたのスキルが向上したということですね。

 

同じように項目とキーをセットで格納できるオブジェクトとしてDictionaryオブジェクトがあります。

Collectionオブジェクトと違って、Dictionaryオブジェクトは異なるデータ型を要素として格納することはできません。

CollectionオブジェクトはDictionaryオブジェクトの代わりとして使用することもできますが、

用意されているメソッドが少なかったり、一般的に処理速度がDictionaryオブジェクトに比べて若干遅いなどのデメリットもあります。

Naosuke
私の中では、配列以上、連想配列未満という感じです。

 

Colleciton 作業手順 その1 MsgBoxで確認

上の図ですが、ウルトラマンAと、ウルトラマンしかいません。

Collecitonは、重複できないのですから、Collecitonを実行すると、こうなります。

 

スポンサーリンク

Colleciton 作業手順 その2 重複しないリストを作成する

 

Collecitonは、キーが重複しないということを利用して、重複しないリストを作成できます。

 

余談ですが、この方法は、競馬でよく利用します。

Colleciton 作業手順 その3 連想配列でやってみる

似たようなコードですが、見た感じ、こっちのほうが複雑なような気がます。

 

Colleciton 作業手順 その4  キーの横の値も転記してみる

 

 

Colleciton 作業手順 その5 For eachで転記してみる

 

 

For eachのほうが、少し複雑ですね。

私は、For eachのほうが、汎用性があると思います。

コードを眺めていると、For eachを利用している人が多いからです。

また、カウントアップを利用するというのも、ポイントですね。

多分ですが、クラスモジュールと、Collecitonを、合体して利用するときは、この方法を利用します。

私は、For eachのほうが、汎用性があると思います。

コードを眺めていると、For eachを利用している人が多いからです。

ここがポイント

 

ここがポイント
Function8.png
Collecitonは、配列よりもカンタンですね。
これも、公式と同じです。
後は、セルへ転記する方法が、少し、For ~Next、For eachでは違いますね。
でも、原則、For eachを、覚えましょう。
なぜなら、このブログを、読んでいる人は、For ~Nextは、理解していると思います。
覚えたら、貪欲に、新しい知識を、覚えていきましょう。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

Collecitonは、いつでも利用できるように、自分のスキルにしておくと、助かるシーンが、沢山あります。

動画の中で、調教師のカウントをしましたが、使えます。

重複しないという、キーワードが出たら、まずは、Collecitonです。

そのあとに、連想配列ですかね。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No279です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

初心者でも、すぐに、集計、プレゼンができるようになる。書籍だけの勉強は今すぐやめよう!
電子書籍で、AMAZON1位
専門のスタッフが、電話、チャットで完全サポート
大手パソコンスクールよりも、圧倒的な低価格
スポンサーリンク

Twitterでフォローしよう

おすすめの記事