VBA, для цикла, индекс вне диапазона во втором цикле

70
5

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

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

Заголовки на листе А должны совпадать с заголовками на листе В. Оба они являются горизонтальными. где есть совпадение, присвойте 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

спросил(а) 2018-11-27T21:56:00+03:00 1 год, 10 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема