見出し画像

【Excel VBA】色々なものをコレクションする

YoTubeでも解説しています。 是非、ご覧ください。

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

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


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

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

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

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

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

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

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

 

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


VBAの勉強が好きな人

効率的をしたい人

コードを短くしたい人


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

 

Collecitonオブジェクトは、クラスモジュールに似ているとおもうはずです。

多分、クラスと、Collecitonオブジェクトを組合わせるともっと便利になると思います。

 

 

Colleciton

 

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

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

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

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

 

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

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

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

 

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

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

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

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

 

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

 

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を利用している人が多いからです。

ここがポイント

 

Collecitonは、配列よりもカンタンですね。

これも、公式と同じです。

後は、セルへ転記する方法が、少し、For ~Next、For eachでは違いますね。

でも、原則、For eachを、覚えましょう。

なぜなら、このブログを、読んでいる人は、For ~Nextは、理解していると思います。

覚えたら、貪欲に、新しい知識を、覚えていきましょう。

まとめ           


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

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

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

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

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

ファイル販売

私のホームページでも販売しています。このようなファイルは、全部で、300ファイル前後ありますが、総ダウンロード数は、10,000件を、超えました。10,000件超えてから、面倒なので、カウントしていないです。

勉強したい方、会社の実務で利用したい方にお勧めです。

はっきり言いますが、ネットで調べる時間を考えたら、購入したほうが、時間の節約になります。

まして、ネットのコードは、作動するとは限りません。

料金は、200円です。

よろしくお願いします。

ここから先は

59字

¥ 200

期間限定!PayPayで支払うと抽選でお得

よろしければサポートをお願いします。いただいたお金に関しては、書籍の購入に充て、より良い情報を皆様に提供します。