У меня проблема с ошибка - PullRequest
0 голосов
/ 04 марта 2020

Я новичок в Excel VBA и работаю над проектом, который печатает отчет. Я получаю сообщение об ошибке при запуске этого кода VBA Excel. Ошибка в строке "Columnoffset", любая помощь приветствуется. Спасибо

Workbooks(MainWbName).Worksheets("DATA").Activate

rowoffset = DataRow - 1

' Activate WORKBOOK
Workbooks(MainWbName).Activate

Dim ColumnRangeName As String
Dim ColumnDefRange As Object
tabletouse = "ColumnDefinitions"
Sheettouse = "ColumnDefs"
Set ColumnDefRange = Worksheets(Sheettouse).Range(tabletouse)

If FieldTitle = " " Then Exit For

ColumnRangeName = WorksheetFunction.VLookup(FieldTitle, ColumnDefRange, 2, False)   

Columnoffset = Range(ColumnRangeName).Value   ' <-- Error

Workbooks(CSVFileName).Activate

1 Ответ

0 голосов
/ 04 марта 2020

Всякий раз, когда вы работаете с VLookup, лучше всего обрабатывать ошибку, если искомый текст не найден.

'
'~~> Rest of your code
'

Dim errorNumber As Long

On Error Resume Next
ColumnRangeName = WorksheetFunction.VLookup(FieldTitle, ColumnDefRange, 2, False)
errorNumber = Err.Number
On Error GoTo 0

If errorNumber <> 0 Then
    MsgBox FieldTitle & " not found"
Else
    Columnoffset = Range(ColumnRangeName).Value

    '
    '~~> Rest of your code
    '
End If

СОВЕТ : Также избегайте использования .Activate. Возможно, вы захотите увидеть Как избежать использования Select в Excel VBA

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