Проблема обработки ошибок с Application.vlookup - PullRequest
0 голосов
/ 28 мая 2019

У меня есть функция, которая ищет значения по всем листам и суммирует значения.Он работает до тех пор, пока значение, которое он ищет, существует на всех листах.Если значение не существует, я просто хотел бы установить значение результата на 0.

Sub lookupSum3()
Dim myVlookupResult As Double
Dim myTableArray As Range
Dim myVlookupSum As Double
Dim i As Integer
Dim sheetCount As Integer
Dim ws As Worksheet
Dim ws1 As Worksheet
Dim j As Integer
Dim rowCount As Integer


Set ws1 = Sheets(1)
sheetCount = Sheets.count
rowCount = ws1.Range("A1", ws1.Range("A1").End(xlDown).End(xlDown).End(xlUp)).Rows.count

i = 2
j = 2

Do While j <= rowCount
Do While i <= sheetCount
Set ws = Sheets(i)
Set myTableArray = ws.Range("A:N")

myVlookupResult = Application.vlookup(ws1.Range("A" & j), myTableArray, 5, False)

If IsError(myVlookupResult) = True Then
    myVlookupResult = 0
End If

myVlookupSum = myVlookupSum + myVlookupResult
i = i + 1
Loop
i = 2
ws1.Range("B" & j) = myVlookupSum
myVlookupSum = 0
j = j + 1
Loop


MsgBox rowCount

End Sub


Код покажет ошибку времени выполнения '13' для строки myVlookupResult = Application.vlookup(ws1.Range("A" & j), myTableArray, 5, False)

Я неправильно обрабатываю ошибку?

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