• ベストアンサー

エクセルのVBAでオブジェクトの配列変数は使えますか?

VBですとオブジェクトの配列変数というか、コピーしたときに自動的に配列になってしまいますが、エクセルのVBAの場合でオブジェクトの配列変数は使えますか? なにをしたいかというと、ボタンが多すぎて一つ一つにプログラム定義は面倒、そこで配列にしてまわすことにしたいのですが、エクセルで可能でしょうか。 どなたかお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 コレクションというものがあります。複数のオブジェクトをコレクションにまとめ、インデックス値で識別出来ます。 以下に例を示します。 フォームにテキストコントロールが10個(Text1~Text10)あるとします。 ***宣言部に*** Private myCollect As New Collection ***例えばフォームのInitializeイベントに   With myCollect     .Add Item: = Text1     .Add Item: = Text2       :    :     .Add Item: = Text10   End With とコレクションを作成します。 そしたら、下のようにインデックス値でコントロールを識別出来ます。 'Cells(1, 1)~Cells(1, 10)にText1~Text10の値を順にセットする For i = 1 To 10   Cells(1, i) = myCollect(i).Value Next i では。

nika
質問者

お礼

ありがとうございます。 さっそくためしてみまーす。 またご連絡差し上げます。

nika
質問者

補足

補足欄になっちゃいましたけど、 うまくうごきましたよ。 しばらく、ウィルス関連で忙しかった ものですから、ご返事おそくなってしまって すいませんでした。 ありがとうございました。nika

関連するQ&A