VBAでCollectionのインデックスは1から

公開日: : 最終更新日:2014/03/24 VBA

Excel_Logo

VBAでは配列ではなくCollectionを積極的に使ったほうが良い。
動的配列を宣言してReDimするのにほとんどメリットはない。

VBAのCollectionを使う上で、
間違いやすく忘れやすいのが、
Collectionのインデックスは1からであるということ。

Option Explicit

Sub CollectionTest()
    Dim c As Collection
    Set c = New Collection
    
    c.Add "hoge"
    
    'Debug.Print c(0) ' => 実行時エラー
    Debug.Print c(1) ' => hoge
End Sub

CollectionにAddしていって、
インデックスで0を指定すると以下の実行時エラーとなる。

実行時エラー ‘9’:
インデックスが有効範囲にありません。

Collection範囲外アクセス時の実行時エラー

配列は0からなので非常に紛らわしい。

ad

関連記事

Excel_Logo

Excel VBA で絶対に知っておくべきこと

Excel VBA を使っていると、いろいろと思うことがある。 VBAの文法なんてちょっと

記事を読む

Excel_Logo

Excelの図形内テキスト検索の決定版をついに見つけた!

長年探していてやっと見つけた。 Excel では標準機能で図形(オートシェイプ

記事を読む

ad

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ad

no image
SONYのRX100M3を買った

RX100M3のレビューを書こうと思ったけど、この機種にした経緯だけで

no image
タスクトレイの言語切り替えをキーボードショートカットでやる方法

ぼくは Windows10 を英語で使っているが、当然日本語を入力した

no image
MPC-BEで動画を再生しているとChromeでYouTube等が再生できない問題 その3

MPC-BEで動画を再生しているとChromeでYouTube等が再生

no image
MPC-BEで動画を再生しているとChromeでYouTube等が再生できない問題 その2

以前、このような記事を書いたが、GPUのせいではなかった。 MP

no image
MPC-BEで動画を再生しているとChromeでYouTube等が再生できない問題

タイトルでだいたい言ってしまっているが、ようやくそのことに気づいた。

→もっと見る

PAGE TOP ↑