Excel VBA-用于具有特定值的循环
我试图创建一个For循环,它只选择一些值,但无法计算语法,或者如果可能的话 我希望它是这样的Excel VBA-用于具有特定值的循环,vba,excel,for-loop,Vba,Excel,For Loop,我试图创建一个For循环,它只选择一些值,但无法计算语法,或者如果可能的话 我希望它是这样的 Dim i As Integer For i = 1,3,8,15 Then Do something Next i 有什么想法吗?试试看 Sub Demo() Dim indexArr As Variant Dim i As Long indexArr = Array(1, 3, 8, 15) For i = LBound(indexArr) To UBound(i
Dim i As Integer
For i = 1,3,8,15 Then
Do something
Next i
有什么想法吗?试试看
Sub Demo()
Dim indexArr As Variant
Dim i As Long
indexArr = Array(1, 3, 8, 15)
For i = LBound(indexArr) To UBound(indexArr)
Debug.Print indexArr(i)
Next i
End Sub
你不能
如果有模式,您可以使用步骤
For i = 1 to 15 Step 2
哪个将执行1,3,5,7,…
在这种情况下,由于没有模式,您需要添加If
或Select case
:
Dim i As Integer
For i = 1 to 15 Then
Select Case i
Case 1,3,8,15
'Do Something
End Select
Next i
您可以使用if语句:
Dim i As Integer
For i = 1 To 15 Then
If i = 1 or i = 3 or i = 8 or i = 15 Then
'Do something
End If
Next i
希望对您有所帮助。您可以执行以下操作:
Dim number_list as collection
set number_list = new collection
number_list.add 1
number_list.add 3
number_list.add 8
number_list.add 15
for each number in number_list
'Do something with number
Next number
Dim i as Variant
Dim iArray as Variant
iArray=Array(1,3,8,15)
For Each i In iArray
'Do Something
Next i
干杯这是可行的,但这似乎是一个很大的延伸-为什么要费心声明和创建一个
集合
?虽然这段代码可以回答这个问题,提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。此解决方案将上述数组解决方案中的元素与我推断OP需要的易用性相结合。数组方法需要循环遍历数组元素,然后将数组元素转换回一个变量。此方法跳过2位。首先,它跳过了通过数组元素的复杂步骤逻辑。其次,它跳过了将数组元素转换回可用变量的步骤。希望这有帮助。我不明白这是如何回答这个问题的。OP只想从数组中选择一些值。您刚刚演示了for循环语法。