Макрос ScreenTip

#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