2015-09-18 4 views
0

это мой первый раз, используя ВПР в VBA, и я получаю тип ошибки Рассогласование для линии: vLook = application.worksheet ...Excel макроса VBA ВПР

Если кто-нибудь может пояснить, почему это происходит я Оцените это. Большое спасибо.

Sub test3() 

Dim text1 As String, text2 As String, text3 As String 
Dim vLook As Single 
Dim lookupRange As Range 

Set lookupRange = Sheet3.Range("x5:y500") 

Z = 5 

Do While Sheet3.Cells(Z, 1) <> "" 

text1 = Sheet3.Cells(Z, 23) 

vLook = Application.WorksheetFunction.VLookup(text1, lookupRange, 2, False) 

Z = Z + 1 

Loop 

End Sub 
+1

Попробуйте изменить vLook с одного на вариант: 'Dim vLook As Variant'. Если вы все еще получаете сообщение об ошибке, убедитесь, что vlookup фактически возвращает значение, а не ошибку, когда вы используете его в качестве формулы (нет vba). – tigeravatar

+0

Я также замечаю, что вы на самом деле ничего не делаете с vLook, вы продолжаете переопределять его значение с помощью vLook следующей строки. Предполагаете ли вы что-то делать с vLook, как только оно будет рассчитано? – tigeravatar

+0

Привет, это сработало отлично, мне просто нужно было установить пункт назначения после того, как он будет равен destination.formula = vLook. – KM617

ответ

0

Сообщение об ошибке указывает, что объявление для вашей переменной, называемое vLook как Single, неверно. Объявление переменной как варианта вместо этого должно исправить ошибку.

Смежные вопросы