Как программно создать гиперссылку?

Вариант I, II, III.

code: #vba
// 1
With ThisWorkbook.Worksheets(1)
     .Hyperlinks.Add Anchor:=.Range("A1"), Address:="http://samplecode.ru"
End With
 
//2
With ThisWorkbook.Worksheets(1).Range("A3")
     .Hyperlinks.Add Anchor:=.Item(1), Address:="samplecode.ru"
End With
 
//3
With ThisWorkbook.Worksheets(1).Range("A5")
     .Hyperlinks.Add Anchor:=.Cells(1), _
     Address:=Application.DefaultFilePath
End With
 
ThisWorkbook.Worksheets(1).Range("A7").Formula = "=HYPERLINK(""mailto:sampl@samplecode.ru"")"

Если необходимо, чтобы в ячейке отображался не текст гиперссылки, а нужный текст, то:

code: #vba
//1
With ThisWorkbook.Worksheets(1)
     .Hyperlinks.Add Anchor:=.Range("A1"), Address:="http://samplecode.ru"
     .Range("A1").Value = "Проект Новая почта"
End With
 
//2
With ThisWorkbook.Worksheets(1).Range("A3")
     .Hyperlinks.Add Anchor:=.Item(1), Address:="http://samplecode.ru"
     .Value = "Проект Новая почта"
End With
 
//3
With ThisWorkbook.Worksheets(1).Range("A5")
     .Hyperlinks.Add Anchor:=.Cells(1), _
      Address:=Application.DefaultFilePath
     .Formula = "Просмотр содержимого папки"
End With
 
With ThisWorkbook.Worksheets(1).Range("A7").Formula = "=HYPERLINK(""http://samplecode.ru"",""Может посетим ..."")"

Особенности MS Excel 2000, XP. В этих версиях, создать нужный текст, можно используя необязательный аргумент TextToDisplay:

code: #vba
Worksheets(1).Hyperlinks.Add Anchor:=Range("C3"), _
Address:="http://samplecode.ru/", TextToDisplay:="samplecode.ру"
Поделиться:

Похожие статьи: