Я немного смущен тем, чего вы пытаетесь достичь. Не показать точку или серию? Прозрачный или не заговор.
Однако ваш On Error
находится не в том месте, поэтому поместите его до ожидаемой ошибки, например
On Error GoTo ZZZ
lnum = Application.VLookup(mysrs.Name, drng, 2, 0)
Или объявите lnum
как Variant
, а затем используйте IsError
test для lnum
например,
Dim lnum As Variant
lnum = Application.VLookup(mysrs.Name, drng, 2, 0)
If IsError(lnum) Then
'Do something
Else
'Do something else
End If
Предполагается, что drng
определен как Range
объект.