2つのリストボックスと1つのボタンがあります。ユーザーがlstAvailでアイテムを選択してボタンを押すたびに、選択したアイテムがlstSelectedに追加されます。
次のコードは、ループが1ずつ減少する場合に正常に機能します。
Private Sub Form_Load()
Dim intX As Integer
For intX = 0 To 5
lstAvail.AddItem "Item #" & Format$(intX, "000")
Next
End Sub
Private Sub Command1_Click()
Dim intListX As Integer
For intListX = lstAvail.ListCount - 1 To 0 Step -1
If (lstAvail.Selected(intListX)) Then
lstSelected.AddItem lstAvail.List(intListX)
lstAvail.RemoveItem intListX
End If
Next
End Sub
しかし、以下に示すように、0から(lstAvail.ListCount -1)まで増分すると、なぜ機能しないのですか?そのコードは、実行時エラー「無効なプロパティ配列インデックス」を発生させます。
Private Sub Command1_Click()
Dim intListX As Integer
For intListX = 0 To lstAvail.ListCount - 1
If (lstAvail.Selected(intListX)) Then
lstSelected.AddItem lstAvail.List(intListX)
lstAvail.RemoveItem intListX
End If
Next
End Sub