Ошибка несоответствия типов Application.Vlookup (не соответствует) - PullRequest
0 голосов
/ 12 апреля 2019

Я пишу код для запуска списка из 9000 учетных записей клиентов и сравнения его с другим списком, используя application.vlookup.Если учетная запись клиента существует во 2-м списке, то результатом будет True, но не false.

Код работает 99% времени, но продолжает работать с ошибками на определенных учетных записях клиентов.Другие 1% времени, это дает мне ошибку несоответствия типов.

Насколько я понимаю, не должно быть проблем, если значение не найдено во второй таблице, поскольку я не назначаю customer_account (тип длинной переменной) для vlookup.Это похоже на правду, поскольку для всех других учетных записей клиентов он не находит, так как ошибки не возникает.

Кроме того, я использую базовый код ранее в своем коде, чтобы сравнить учетные записи клиентов с еще одним списком иработает без проблем (все те же объявления переменных и т. д.)

Вот что я подтвердил:

1) Все учетные записи клиентов отформатированы как общие (нет букв или специальных символов)

2) Переменная customer_account объявлена ​​как long

3) Переменная national_accounts объявлена ​​как диапазон и определена до моего цикла for-next, поэтому не должна изменяться.

4) Второй список номеров счетов отсортирован численно (с использованием true в качестве параметра vlookup для повышения эффективности).

If Application.VLookup(customer_account, national_accounts, 1, True) = customer_account Then          <~~~~this is where the debugger shows an error type mistmatch
   national_account_check = True
   recommend_action = "National Account"
   ' Do some stuff
Else
   national_account_check = False
   ' Do a some other stuff
End If

Мой оператор if не должен присваивать значение customer_account, просто оцените выражение.

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