Frameworkの一部のクラスを利用することが出来ます。利用するにはWindowsもしくはExcelのバージョンによってはVBAで参照設定が必要です。VBA画面のツールメニュー→参照設定で以下の選択もしくは参照してください。Libraryなお私の環境では参照設定不要です。設定してもチェックが表示されません。7の以下の環境にて動作確認を行っています。Frameworkのバージョンによって参照設定できるものもあります。私の環境の最新バージョンは上記のとおりv4.0.30319ですが、v2.0.50727のを参照するとチェックが付きます。v2.0.50727の参照設定をするとCreateObject関数を使わなくてもよくなります。Subただ、.を押してもメソッドやプロパティの候補は出ません。候補は出ませんが、メソッドやプロパティを手で書けばはちゃんと動作します。参照設定するべきなのか、そうでないのか、などはOSや64bitかどうかも関係するようですが、よくわかりませんでした。以下はそういう「動けばいいんだよ」精神なのをご了承ください。FrameworkのArrayListのオブジェクト変数の作成はCreateObject関数にて行います。CreateObject("System.Collections.ArrayList")元の変数はObject型で定義していますが、Variant型でも構いません。どちらもCreateObject関数で成功すると内部定義はArrayList型になります。CreateObject関数のあとは必要に応じてArrayListクラスのメソッドやプロパティを利用します。MSDNは以下になります。(2018/5/31確認済み)https://msdn.microsoft.com/ja-jp/library/system.collections.arraylist(v=vs.110).aspx以下で2通りの使い方を紹介します。1つ目はCreateObject関数を使ってそのまま使う方法です。2つ目はArrayList用のクラスを用意して使う方法です。一般的に紹介される方法はこちらだと思います。CreateObject関数を使ってインスタンスを作成して、あとはメソッドやプロパティを利用するコーディング方法です。この方法で利用は可能ですが、メソッドやプロパティのメンバが見えない欠点があります。使えればOKという場合はこちらでもいいです。SubArrayLlst用のクラスモジュールを用意する方法ArrayListのメンバを明示するためにクラス化する方法です。邪道と言われるかもしれませんが、プロパティやメソッドの入力がラクになり使い勝手が良くなります。この方法はクラスモジュールと利用する側のモジュールを分けます。クラスモジュールを作ります。クラス名はDNetArrayListです。ArrayListのメソッドやプロパティを自作クラスのメンバ化するのが面倒な場合もあったりするので3行目のArrayListのインスタンスの変数arはPrivateではなくPublicにしています。そのため上のコードのように直接使うことも可能です。利用する側のモジュールはDNetArrayListクラスでなければ標準モジュールでもフォームモジュールでもなんでもいいです。クラスモジュール:DNetArrayListMSDNに書いてある全メンバは実装していません。必要最低限のプロパティやメソッドのみを実装しています。追加したいプロパティやメソッドがある場合はクラスに追加するか、3行目の変数arに対して直接プロパティやメソッドを使ってください。変数arに対して直接コーディングする方法は後述の利用例を参考にしてください。SubDNetArrayListクラス利用例コード自体は上の直接コーディングする方法とほとんど同じです。2行目と4行目の型がObject型ではなくDNetArrayListクラスになっています。CreateObject関数はクラス側に実装しているため利用するコードには不要なため存在しません。40行目はクラスのプロパティ変数に対して直接Addメソッドを行っています。クラスに未実装のプロパティやメソッドを使いたい場合はこのような使い方も可能です。Excel作業をVBAで効率化シェアお問合わせTOPへ。