2016-07-22 5 views
2

У меня был столбец значений в столбце A, все с 6-значными числами. Для активной ссылки каждый из них в папку с PDF-файлы с теми же 6-значными названиями, я вставил следующую функцию в ячейку A2:Создание динамической функции гиперссылки static

=HYPERLINK("C:\...Project\" & A2 & ".pdf", A2)

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

Однако теперь я хочу заменить столбец A1 этими новыми гиперссылками. Я думал, что могу вставить специальный столбец гиперссылок для удаления динамических записей в каждой ячейке, но это не представляется возможным. Я уверен, что есть более легкое решение. Я что-то упускаю? Могу ли я сделать столбец B независимо от столбца A перед его заменой? Есть ли решение VBA?

+0

Разрешено ли VBA? –

+0

Уверен, что было бы здорово – user1996971

+2

Похоже, я уже был избит до этого ниже ... –

ответ

3

Вы можете запустить быстро в процедуре VBA:

Sub CreateHyperlinks() 
Dim cl As Range 

For Each cl In Range("B1:B100").Cells '## Modify as needed 
    cl.Hyperlinks.Add cl, cl.Value, , , cl.Offset(0,-1).Value 
Next 

End Sub 
+0

Awesome. Это работает очень хорошо. Я не знаком с функцией внутри In For Loop. Что это делает, это отличается от используемой мной функции листа? Спасибо, мил! – user1996971

+2

Формула '= HYPERLINK()' основана на адресе и дружественном имени. В этой версии он говорит, что все в B1 - B100 делает гиперссылку, где адрес - один столбец слева, а дружественное имя - только существующее значение. Поэтому вместо создания столбца с гиперссылкой вы создаете существующий столбец в гиперссылку. –

1

Если по какой-то шанс кто-то хочет сделать это без VBA, вы можете заменить, например

=HYPERLINK(1,2) 

с

<html><a href=1>2 

, но в случае с динамическими формулами это слишком сложно, потому что

=HYPERLINK("C:\...Project\" & A2 & ".pdf", A2) 

будет

="<html><a href=""C:\...Project\" & A2 & ".pdf"">" & A2 

, а затем он должен быть скопирован в виде текста (например, вставить значения в блокноте и скопируйте их снова в блокноте), прежде чем вставить в Excel.

+0

Awesome. Благодаря! – user1996971

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