Macro Vlookup Несколько условий Ошибка типа несоответствия - PullRequest
0 голосов
/ 09 мая 2018

Я работаю над макросом Excel VBA, который получает идентификатор ответа от другого листа.

Я получаю сообщение об ошибке 13 "Несоответствие типов" из VLookup:

    Dim i As Integer
    Dim LastRow As Integer
    Dim LastColumn As Integer
    Dim rw As Long, x As Range, x1 As Range
    Dim extwbk As Workbook, twb As Workbook


    Sub Job_Res()
    LastRow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row

    '----------SET RES ID-----------------------------
    Set twb = Workbooks.Open("C:\DM\excel_files\jobs.xlsx")
    Set extwbk = Workbooks.Open("C:\DM\excel_files\RefRes.xlsx")
    Set x = extwbk.Worksheets("Sheet1").Range("A:D")

    With twb.Sheets("Sheet1")
        MsgBox "OK"
        For rw = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
            .Cells(rw, 11) = Application.VLookup(.Cells(rw, 11).Value + .Cells(rw, 1).Value, x, 2, False)
        Next rw

    End With

    extwbk.Close savechanges:=False

    End Sub

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 09 мая 2018

ошибка вызвана этой строкой:

.Cells(rw, 11) = Application.VLookup(.Cells(rw, 11).Value + .Cells(rw, 1).Value, x, 2, False)

Я предполагаю, что проблема в Arg1 - суммирование .Cells(rw, 11).Value + .Cells(rw, 1).Value не может быть выполнено правильно. Я не знаю, хотите ли вы добавить текстовые значения (например, «a» + «a») или числовые значения (1 + 1). Но если вы добавите текст и число (1 + «а»), он вернет ошибку

Также вы возвращаете результат Vlookup в столбец, используемый при суммировании.

...