#excel #vba
#excel #vba
Вопрос:
Я пытаюсь написать макрос, который
- находит каждую гиперссылку,
- копирует название слова, в которое встроена гиперссылка, и затем делает это
ScreenTip
В настоящее время я должен сделать это для каждой ячейки. Как мне обновить каждую гиперссылку в моей книге?
Sub ScreenTip()
On Error Resume Next
ActiveSheet.Hyperlinks.Add Anchor:=Cells(8, 2), Address:="", ScreenTip:=CStr(Cells(8, 2).Value)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(8, 3), Address:="", ScreenTip:=CStr(Cells(8, 3).Value)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(8, 4), Address:="", ScreenTip:=CStr(Cells(8, 4).Value)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(8, 5), Address:="", ScreenTip:=CStr(Cells(8, 5).Value)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(8, 6), Address:="", ScreenTip:=CStr(Cells(8, 6).Value)
`..... etc
End Sub
Ответ №1:
Это перебирает все существующие гиперссылки на активном листе и устанавливает их свойства ScreenTip
Sub Demo()
Dim hl As Hyperlink
For Each hl In ActiveSheet.Hyperlinks
hl.ScreenTip = CStr(hl.Range.Value)
Next
End Sub
Комментарии:
1. Как мне применить это ко всей книге?
Ответ №2:
Согласно вашему вопросу:
Dim hy As Hyperlink
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
For Each hy In ws.Hyperlinks
hy.ScreenTip = CStr(hy.Range.Value2)
Next
Next