次のプログラムで①に代えて、②にすると「インデックスが有効範囲にありません」というエラーになります。
何故か、ご教示ください。宜しくお願いします
(どんでも質問でないよう願って)
Private Sub Ddebug2()
Dim Colles As New Collection
Dim Mem As String
Colles.Add "AAA"
Colles.Add "BBB"
Colles.Add "CCC"
' ① 正常に実行終了
'
For i = Colles.Count To 1 Step -1
Mem = Colles.Item(i)
Debug.Print Mem
Colles.Remove i
Next
'---------------------------------------------
' ② コレクションのメソッドで「インデックスが有効範囲にありません」
'とのエラー・メッセージが…。
'
For i = 1 To Colles.Count
Mem = Colles.Item(i)
Debug.Print Mem
Colles.Remove i
Next
End Sub
removeするごとに、コレクションののcountが減るためですね。
分かりました。ありがとうございました。
ツイート | ![]() |