Я знаю, что на сайте есть тонна связанных вопросов, но по какой-то причине я не могу получить этот макрос для получения правильных результатов ... пожалуйста, помогите !!
Код:
Sheets("Interface Catalogue").Select
Dim UniqID As String
UniqID = Trim(ActiveCell.Value)
Sheets("Data Elements").Select
LastB = Cells(Rows.Count, "B").End(xlUp).Row
LastA = Cells(Rows.Count, "A").End(xlUp).Row
If LastA > LastB Then
Range("A" & Rows.Count).End(xlUp).Offset(10).Select
Selection.Formula = "=HYPERLINK(""#""&CELL(""address"",INDEX('Interface Catalogue'!F:F,MATCH(""& UniqID &"",'Interface Catalogue'!F:F,0))),""& UniqID &"")"
Else
Range("B" & Rows.Count).End(xlUp).Offset(2).Previous.Select
Selection.Formula = "=HYPERLINK(""#""&CELL(""address"",INDEX('Interface Catalogue'!F:F,MATCH(""& UniqID &"",'Interface Catalogue'!F:F,0))),""& UniqID &"")"
End If
End Sub
При запуске макроса следует ввести гиперссылку в ячейку на рабочем листе «Элементы данных» (столбец A или столбец B, основанный на «If»), который ссылается на значение, назначенное переменной UniqID (ActiveCell при макросе). находится в рабочем листе «Каталог интерфейсов» ...
Я почти уверен, что проблема возникает в том, как Формула интерпретирует мою переменную ("" & UniqID & "" - - Правильный синтаксис ???) ... Когда я жестко кодирую значение в формуле вместо использования переменная UniqID, это работает. Когда я отлаживаю и проверяю значение, назначенное переменной UniqID, это значение ActiveCell (как и ожидалось). В настоящее время я получаю гиперссылку «# N / A» в соответствующей ячейке «Элементы данных», поэтому остальная часть кода работает. Формула просто не находит значение на вкладке «Интерфейсный каталог» (опять же, на самом деле, похоже, что вопрос заключается в том, как переменная используется в операторе selection.formula, потому что, когда я жестко кодирую значение, оно работает) .
Чтобы быть ясным, я полный новичок в VBA (как я только начал вчера) ... На самом деле просто надеюсь выяснить это. Спасибо, заранее !!