Я пытаюсь выполнить VLOOKUP некоторое значение в 2 листах, и если значение найдено, то я помещаю гиперссылку на ячейку Листа 1, чтобы указать ее на ячейку листа 2.Выполнить формулу excel через VBA
Я написал формулу Excel для того же, и она работает нормально. Но я не могу преобразовать его в формулу VBA. Что я делаю не так?
формула Excel: =IF(ISERROR(VLOOKUP(RC[7],Sheet2!R1C1:R20C1,1,FALSE)),RC[7],HYPERLINK(CELL("address",INDEX(Sheet2!R1C1:R20C1,MATCH(RC[7],Sheet2!R1C1:R20C1,0))),RC[7]))
VBA формула, которую я попробовал:
Sheets(4).Formula = "= IF(ISERROR(VLOOKUP(RC[7],Sheet2!R4C2:R" & Lrow2 & "C2,1,FALSE)),RC[7],HYPERLINK(CELL(" & """address""" & ",INDEX(Sheet2!R4C2:" & "R" & Lrow2 & "C2,MATCH(RC[7],Sheet2!R4C2:" & "R" & Lrow2 & "C2,0))),RC[7]))"
P.S .: Не беспокойтесь о строк и столбцов индексов. Я написал формулу для тестового файла и написал vba для главного файла.
Рассмотрите вопрос «Возвращаясь к основам». Чего вы хотите достичь здесь? Ваша формула excel и поддерживающая vba * чрезвычайно хрупкие. – Bathsheba
Просто попробовал формулу VBA, добавив «Ячейки (1,1)», и это сработало. Примечание. Для целей тестирования я изменил индекс рабочего листа на 1. 'Таблицы (1) .Келлы (1,1) .Formula = _ " = IF (ISERROR (VLOOKUP (RC [7], Sheet2! R4C2: R "и Lrow2 &" C2,1, FALSE)), RC [ 7], HYPERLINK (CELL ("&" "" адрес "" "&", INDEX (Sheet2! R4C2: "&" R "и Lrow2 &" C2, MATCH (RC [7], Sheet2! R4C2: "&" R "& Lrow2 &" C2,0))), RC [7])) "' –
@ BranislavKollár Спасибо. Формула теперь работает. «Таблицы (1) .Келлы (Lrow3, 3) .FormulaR1C1 =« = IF (ISERROR (VLOOKUP (Sheet4! R »и Lrow3 и« C9, Sheet2! R4C2: R »и Lrow2 и« C2,1, FALSE)) , Sheet4! R "& Lrow3 &" C9, HYPERLINK (CELL ("&" "" адрес "" "&", INDEX (Sheet2! R4C2: "&" R "& Lrow2 &" C2, MATCH (Sheet4! R " & Lrow3 & "C9, Sheet2! R4C2:" & "R" и Lrow2 & "C2,0))), Sheet4! R" & Lrow3 & "C9))" Но я попал в другую проблему. Когда я запускаю весь свой код, всплывающее окно отображается 2 раза (1 для Sheet4, а другое для Sheet2), запрашивая имена файлов. Что-то не так с "" "адресом" ""? –