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の図形内テキスト検索の決定版をついに見つけた!

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

記事を読む

Excel_Logo

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

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

記事を読む

ad

Message

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

ad

no image
iTunes 12 でカラムブラウザの高さが調整できなくて困った話

iTunes12 on Windows10 で、カラムブラウザがいつか

no image
hulu での英語学習効果を比較的に高める Chrome 拡張

最近、英語学習も兼ねて、ゲーム・オブ・スローンズ(Game of Th

no image
iOS11にしたらBluetoothイヤホンの最大音量が小さくなった件とその対応

iPhone7 Plusを、今日から配信されたiOS11にさっそくアッ

Bose QuietControl 30 がすばらしすぎる

Bose のワイヤレスノイズキャンセリングイヤホン QuietCont

no image
mineoからLINEモバイルにMNPした話 その2

前回の続き。 mineoからLINEモバイルにMNPした話 その

→もっと見る

PAGE TOP ↑