Excel VBA 質問スレ Part83 (533レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
80
(1): デフォルトの名無しさん [] 2025/06/15(日) 13:05:01.93 ID:va9oEKX4(3/3) AAS
よくVBAの配列は動的にサイズを広げられない、拡張できないから不便だという話を聞きますが、これは実はコレクションを使ってねという事なのでしょうか?
84: デフォルトの名無しさん [sage] 2025/06/15(日) 18:00:52.58 ID:NYF1cX4w(1) AAS
>>80
Copilotの回答

そうですね、VBAの標準的な配列(Array)はサイズを変更する際に ReDim を使う必要があり、特に要素数が頻繁に変わる場合には不便に感じることがあります。そのため、コレクション(Collection) や 配列型のオブジェクト(ArrayList, Dictionary) を代替手段として使うことが一般的です。

例えば、Collection は動的に要素を追加・削除できるので、サイズの変更を意識せずにデータを管理できます。

Dim col As Collection
Set col = New Collection

col.Add "Apple"
col.Add "Banana"
col.Add "Cherry"

MsgBox col(2) ' 出力: Banana

また、Dictionary を使えばキーと値の組み合わせでデータを管理できるので、検索や整理が楽になります。

Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")

dict.Add "A", "Apple"
dict.Add "B", "Banana"
dict.Add "C", "Cherry"

MsgBox dict("B") ' 出力: Banan

このように、用途に応じて Collection や Dictionary を活用することで、動的なデータ管理がしやすくなります。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s