Вроде несложная задача, а решить никак не получается. Есть ячейка, в ней располагается картинка. Картинка является гиперссылкой.
Есть необходимость, чтобы эта гиперссылка располагалась в соседней ячейке, например (без картинки).
Пробовал данную функцию, но с картинкой она не сработала:
[vba]
Код
Function Get_Hyperlink_Address(ByVal rCell As Range) As String If rCell.Hyperlinks.Count = 0 Then If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then Get_Hyperlink_Address = Mid$(rCell.Formula, 13, InStr(13, rCell.Formula, Chr(34)) - 13) Else Get_Hyperlink_Address = "В ячейке нет гиперссылки!" End If Else Get_Hyperlink_Address = rCell.Hyperlinks(1).Address End If End Function
[/vba] [moder]Для кода VBA кнопочка #. Поправил.
Добрый день!
Подскажите, пожалуйста, знатоки.
Вроде несложная задача, а решить никак не получается. Есть ячейка, в ней располагается картинка. Картинка является гиперссылкой.
Есть необходимость, чтобы эта гиперссылка располагалась в соседней ячейке, например (без картинки).
Пробовал данную функцию, но с картинкой она не сработала:
[vba]
Код
Function Get_Hyperlink_Address(ByVal rCell As Range) As String If rCell.Hyperlinks.Count = 0 Then If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then Get_Hyperlink_Address = Mid$(rCell.Formula, 13, InStr(13, rCell.Formula, Chr(34)) - 13) Else Get_Hyperlink_Address = "В ячейке нет гиперссылки!" End If Else Get_Hyperlink_Address = rCell.Hyperlinks(1).Address End If End Function
Sub GetHLFromShapes() Dim sh As Shape With ActiveSheet For Each sh In .Shapes .Hyperlinks.Add Anchor:=sh.BottomRightCell.Offset(, 1), _ Address:=sh.Hyperlink.Address, _ TextToDisplay:=sh.Hyperlink.Address Next sh End With End Sub
[/vba]
[vba]
Код
Sub GetHLFromShapes() Dim sh As Shape With ActiveSheet For Each sh In .Shapes .Hyperlinks.Add Anchor:=sh.BottomRightCell.Offset(, 1), _ Address:=sh.Hyperlink.Address, _ TextToDisplay:=sh.Hyperlink.Address Next sh End With End Sub
Sub GetHLFromShapes() Dim sh As Shape With ActiveSheet For Each sh In .Shapes .Hyperlinks.Add Anchor:=sh.BottomRightCell.Offset(, 1), _ Address:=sh.Hyperlink.Address, _ TextToDisplay:=sh.Hyperlink.Address Next sh End With End Sub
Он мне обработал 4 позиции и далее пишет ошибка. что я делаю не так? помогите пожалуйста
Sub GetHLFromShapes() Dim sh As Shape With ActiveSheet For Each sh In .Shapes .Hyperlinks.Add Anchor:=sh.BottomRightCell.Offset(, 1), _ Address:=sh.Hyperlink.Address, _ TextToDisplay:=sh.Hyperlink.Address Next sh End With End Sub
Он мне обработал 4 позиции и далее пишет ошибка. что я делаю не так? помогите пожалуйстаLana18