我有这些元素:
Type Posizione
Name As String
Position As Byte
End Type
Public Location() as Posizioni
我想在最小的posizione()。valore和最大的一个之间循环。
我尝试过:
For i = LBound(Location().position) To UBound(Location().position)
但我在这个位置收到“无效资格赛”。
有什么建议吗?
答案 0 :(得分:2)
您的数组是变量Location
,因此您必须将其用作lbound
和ubound
的参数
For i = LBound(Location) To UBound(Location)
Location(i).position = i
Location(i).Name = "Hello " & i
Next i
答案 1 :(得分:1)
在迭代它们之前,您必须找到最小值和最大值。这样的事情会做到这一点:
Dim PosMin As Byte
Dim PosMax As Byte
PosMin = 255
PosMax = 0
For i = LBound(Location) To UBound(Location)
If Location(i).Position > PosMax Then
PosMax = Location(i).Position
End If
If Location(i).Position < PosMin Then
PosMin = Location(i).Position
End If
Next
For i = PosMin To PosMax
Debug.Print i
Next i