2015-09-09 3 views
0

Я вставив следующую гиперссылку в виде формулы с использованием VBA:excel vba: вставить формулу с динамической ссылкой ячейки с помощью vba?

ActiveSheet.Range("AD" & ActiveCell.Row).Formula = "=HYPERLINK(""S:\Tasks\" & Range("C" & ActiveCell.Row).Value & "\log.txt"",""View Log"")" 

Это прекрасно работает, однако, если мое значение в ячейке C должно было измениться, то моя гиперссылкой становится недействительным и не будет работать, так как он сохранил значение ячейки в момент ввода формулы.

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

Может кто-нибудь, пожалуйста, покажите мне, как это сделать? Заранее спасибо

+2

Я не знаю, правильно ли я понял. Будет ли «ActiveSheet.Range» («AD» и ActiveCell.Row) .FormulaR1C1 = «= HYPERLINK (« "S: \ Tasks \" "& RC [-27] &" "\ log.txt" "," "Просмотр журнала "") "' делать то, что вы хотите? –

ответ

0

Ваш код принимает значение из столбца C и построение строки с использованием этого значения, которое выглядит следующим образом:

"S:\Tasks\FolderName\log.txt"

Вместо того, что вы хотите сделать, это построить следующую строку:

"S:\Tasks\" & C2 & "\log.txt"

Чтобы сделать это, используйте этот код VBA:

ActiveSheet.Range("AD" & ActiveCell.Row).Formula = "=HYPERLINK(""S:\Tasks\"" & C" & ActiveCell.Row() & " & ""\log.txt"",""View Log"")"

Смежные вопросы