Ссылка на таблицу для VLOOKUP VBA

Я пытаюсь использовать таблицу в качестве ссылки для моей функции ВПР с помощью VBA, но, похоже, это не работает. Может ли кто-нибудь помочь мне? Я предполагаю, что я не называю столы должным образом.

Некоторая информация:

  1. Table_3 и Table1 установлены таблицы
  2. Оба они не исправлены (к ним добавляются данные)
Range("Table_3[Status]") = Application.WorksheetFunction.VLookup(Range("Table_3[Part_Number]"), Range("Table1[[#All];[Part Number]:[Status]]"), 3, False)

Я не думаю, что вы можете использовать VLOOKUP таким образом. первый аргумент должен быть значением, а не диапазоном.

user11509084 29.05.2019 12:38
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
1
1 152
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать:

Option Explicit

Sub test()

    Dim tbl1 As ListObject, tbl3 As ListObject

    'Set you sheet
    With ThisWorkbook.Worksheets("Sheet1")
        'Set tables
        Set tbl1 = .ListObjects("Table1")
        Set tbl3 = .ListObjects("Table_3")
        tbl3.ListColumns("Status").DataBodyRange.FormulaR1C1 = "=VLOOKUP([Part Number],Table1[#All],3,FALSE)"
    End With

End Sub

Наверное, я не очень хорошо выразился. Если бы мне нужно было сделать это, используя ячейки рабочего листа, я бы просто заполнил столбец таблицы («Таблица_3 [Количество запасов]») этой формулой =VLOOKUP(Table_3[Part Number];Table1[[Part Number]:[Stock Qty]];3;0)

Iago Moschetto 29.05.2019 13:37

увидеть новый ответ

Error 1004 29.05.2019 14:17

Вау круто! Я бы не знал, как это сделать! Я попробую это!

Iago Moschetto 29.05.2019 14:32

я буду ждать ваших отзывов

Error 1004 29.05.2019 14:34

Я получил MsgBox с ошибкой «Определенная приложением или объектом». Почему-то он не может понять формулу

Iago Moschetto 29.05.2019 14:46

В строке "tbl3.ListColumns("Status").DataBody[...]"

Iago Moschetto 29.05.2019 15:07

убедитесь, что в таблице 3 есть столбец с именем «Статус»

Error 1004 29.05.2019 15:15

Это сработало, если я переместил столбец Part Number в первый столбец таблицы (я знаю, что vlookup использует первый столбец, но мой массив не будет включать всю таблицу, а только 3 столбца из нее). Редактировать: поэтому сначала я попытался использовать "Table1[[#All];[Part Number]:[Status]]" а не просто Table1[#All] Но не получилось

Iago Moschetto 29.05.2019 15:24

Я не понимаю. Если я вручную вставлю в столбец Table_3 (Status) "=VLOOKUP([Part Number];Table1[[#All];[Part Number]:[Status]];3;FALSE)", это сработает. Если попытаться вставить его с помощью vba, это не сработает

Iago Moschetto 29.05.2019 15:28

не могли бы вы загрузить изображение ваших столов?

Error 1004 29.05.2019 15:37

Извините за задержку. Я решил решить эту проблему, используя вместо этого циклы while...):

Iago Moschetto 30.05.2019 12:09

Другие вопросы по теме