Vlookup с использованием VBA - PullRequest
0 голосов
/ 11 марта 2019

У меня есть рабочий журнал с информацией, которую я добавляю в слово.Теперь мне нужно добавить txt, который я должен найти с помощью vlookup (или индекса соответствия)

Мой код не будет работать, и через 6 часов я почти сдался, но надеюсь, что один изВы можете помочь мне.

Код:

wrdApp.Selection.TypeText Text:=(Application.Function.VLookup(Cells((RowNo + i), ColumnForLevel2Text).Value, sectionT.Range("ab1:ac5"), 2, 0))

Мой VBA-код помещен в рабочую книгу.Но пока это не было проблемой.

Я хочу найти текст в ячейке (Range((RowNo + i), ColumnForLevel2Text)

Я хочу найти range("ab1:ac5") на другом листе того жеРабочая тетрадь, которая называется sectionT.

Мой текст может быть 1.1, и я хотел бы, чтобы текст "Result" был напечатан в word.

С уважением, Питер

1 Ответ

0 голосов
/ 11 марта 2019

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

Dim LookupValue, TableArray, OutputText

LookupValue = Cells((RowNo + i), ColumnForLevel2Text).Value
Set TableArray = sectionT.Range("ab1:ac5")
OutputText = Application.WorksheetFunction.VLookup(LookupValue, TableArray, 2, 0)

wrdApp.Selection.TypeText Text:=OutputText

Вы можете следить за этим шаг за шагом и видеть, где это пошло не так. Большая проблема здесь в том, что вы написали Function вместо WorksheetFunction.

...