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

Я пытался определить вариант массива, но во время работы всегда встречался 9-нижний индекс ошибки времени выполнения вне допустимого диапазона.Может ли кто-нибудь помочь, пожалуйста?Вот мой код

Dim wkbNPI As Workbook
Dim wksPT As Worksheet
Dim wksFU As Worksheet

Dim lrw As Long

Set wkbNPI = ActiveWorkbook
Set wksPT = Sheets("Packaging tracking")
Set wksFU = Sheets("FollowUpMaterial")

lrw = wksPT.Cells(Rows.Count, "AE").End(xlUp).row
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction

Dim PTarray As Variant
PTarray = wkbNPI.wksPT.Range("A7:AG" & lrw).Value

Dim i As Long, j As Long

For i = 7 To UBound(PTarray)
    If PTarray(i, 31) <> 0 Then
        PTarray(i, 32) = wf.IfError(wf.VLookup(PTarray(i, 31), wksFU.Range("B:R"), 13, False), "")                    'vlookup follow up material
        PTarray(i, 33) = wf.IfError(wf.VLookup(PTarray(i, 31), wksFU.Range("B:R"), 17, False), "")                      'vlookup follow up material effective out date
    End If
Next i

On Error Resume Next

End Sub

1 Ответ

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

Определите объекты листа и объекты книги отдельно.

Попробуйте вот так.

Sub test()
Dim wkbNPI As Workbook
Dim wksPT As Worksheet
Dim wksFU As Worksheet

Dim lrw As Long

Set wkbNPI = ActiveWorkbook
Set wksPT = wkbNPI.Sheets("Packaging tracking") '<~~ set sheet with workbook
Set wksFU = wkbNPI.Sheets("FollowUpMaterial") '<~~ set sheet with workbook

lrw = wksPT.Cells(Rows.Count, "AE").End(xlUp).Row
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction

Dim PTarray As Variant
PTarray = wksPT.Range("A7:AG" & lrw) '< remove workbook

Dim i As Long, j As Long

For i = 7 To UBound(PTarray)
    If PTarray(i, 31) <> 0 Then
        PTarray(i, 32) = wf.IfError(wf.VLookup(PTarray(i, 31), wksFU.Range("B:R"), 13, False), "")                    'vlookup follow up material
        PTarray(i, 33) = wf.IfError(wf.VLookup(PTarray(i, 31), wksFU.Range("B:R"), 17, False), "")                      'vlookup follow up material effective out date
    End If
Next i

On Error Resume Next

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