我有三组变量a1-a5, b1-b5, c1-c5
(每组5个变量)。
a1
,b1
和c1
是链接的,需要在循环中一起使用。我正在尝试做的事情类似
Do While
' Loop using variables a1,b1,c1
Loop
然后我想用a2,b2,c2, etc.
重复此循环
因此,在循环中,我正在其他位置指定的范围内搜索字符串a1
的位置-我们将其称为Pos
。
然后,我将a2
(一个数字)添加到Pos
中。
a3
是循环中其他地方使用的另一个数字。
a2
和a3
的变化取决于a1
中的字符串,因此必须一起使用它们。
我对VBA
还是陌生的,所以越简单越好!
谢谢
答案 0 :(得分:0)
@Stefan Fidlschuster我不完全理解您的问题,但我相信这会有所帮助:
Sub test()
Dim i As Long
Dim Address As Range
Dim A1Value As String
Dim Pos As Range
Dim A2Addition As Integer
With wsTest
Set Pos = .Columns("F:F") '<= Search area (In the example is column F)
For i = 1 To 5
A1Value = .Range("A" & i).Value '<= Value in cell A1
Set Address = Pos.Find(What:=A1Value, LookAt:=xlWhole)
A2Addition = Address.Row + .Range("B" & i).Value
Next i
End With
End Sub
答案 1 :(得分:0)
如果要将变量分组在一起并循环,则可以使用Type
。
Type abc
a As String
b As Long
c As Long
End Type
Sub test()
Dim abcs(1 To 5) As abc, abci As abc
Dim i As Long
For i = 1 To 5
abci = abc(i)
' Use abci.a, abci.b, abci.c here
Next i
End Sub
但是,这很难理解您要执行的操作,您应该发布一些示例数据。
答案 2 :(得分:0)
使用数组
Dim a(1 To 5) As Long 'define your desired type if not Long
Dim b(1 To 5) As Long
Dim c(1 To 5) As Long
Do While x
a(1) = 5
b(1) = 10
'…
Loop
Dim i As Long
For i = 1 To 5
a(i) = i * 2
b(i) = i * 3
Next i