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

Я получаю ошибку на If headers(iheaders, 1) = SR(1, iSR) Then Первый цикл работает нормально.Затем второй цикл я получаю subscript out of range.Но я замечаю, что он всегда возвращается к For iSR = 1 To UBound(SR, 2) вместо For iheaders = 1 To UBound(headers, 2).

, что делает код:

Заголовки на листе A должны совпадать сна листе B. Они оба горизонтальные заголовки.там, где есть совпадение, присвойте 5-ю строку SR моей переменной R.

Код :

Const FirstMatch As Boolean = True
Dim lastrow As Long
Dim SR As Variant
Dim iSR As Integer
Dim R As Variant
Dim headers As Variant
Dim iheaders As Integer

    SR = Worksheets("Sheet A").Range("D3:J7").Value  
    headers = Worksheets("Sheet B").Range("B1:H1").Value

    With Worksheets("Sheet B")

        ReDim R(1 To UBound(SR), 1 To 1)

    For iheaders = 1 To UBound(headers, 2)

        For iSR = 1 To UBound(SR, 2)

            If headers(iheaders, 1) = SR(1, iSR) Then

            R(iSR, 1) = SR(5, iSR)

                If FirstMatch Then

                     Exit For

                 End If

            End If

        Next

    Next


    'Populate R to where I want on Total Page

    End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...