VBA: повторение цикла со связанными переменными - PullRequest
0 голосов
/ 23 октября 2018

У меня есть три набора переменных 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, поэтому чем проще, тем лучше!

Спасибо

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Если вы хотите сгруппировать переменные вместе и выполнить цикл, вы можете использовать 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

Но при этом сложно понять, что вы пытаетесь сделать, и вам следует опубликовать примерданные.

0 голосов
/ 23 октября 2018

@ 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...