AW: Verweis auf anderes Tabellenblatt...
12.11.2003 13:28:12
Michael Brueggemann
Hallo Jocki,
meines Wissens kannst Du Worksheets Collection beim Hyperlink nicht verwenden. Waere 'mal ein neues Feature, gell Bill ?!
Ein Workaround, der mit sich aendernden Tabellennamen klarkommt, koennte so aussehen:
Public strWksNameAlt As String
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
' den alten Namen des Worksheets sichern, wenn es aktiviert wird
strWksNameAlt = Name
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim h As Hyperlink
Dim wks As Worksheet
' Vergleichen, ob Name geaendert wurde
If strWksNameAlt <> "" And strWksNameAlt <> Sh.Name Then
' alle Worksheets durchlaufen
For Each wks In ThisWorkbook.Worksheets
' alle Hyperlinks des Worksheets durchlaufen
For Each h In wks.Hyperlinks
' wenn alter Name in Hyperlink Ziel gefunden, dann ...
If InStr(h.SubAddress, (strWksNameAlt & "!")) <> 0 Then
' Text des Hyperlinks aendern
h.TextToDisplay = Replace(h.TextToDisplay, strWksNameAlt, Sh.Name)
' Ziel des Hyperlinks aendern
h.SubAddress = Replace(h.SubAddress, strWksNameAlt, Sh.Name)
End If ' If InStr(h.SubAddress, strWksNameAlt) <> 0
Next ' For Each h In wks.Hyperlinks
Next ' For Each wks In ThisWorkbook.Worksheets
End If ' If strWksNameAlt <> "" And strWksNameAlt <> Sh.Name
End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
' den alten Namen des Worksheets sichern, wenn es aktiviert wird
strWksNameAlt = Left(Target.SubAddress, (InStr(1, Target.SubAddress, "!") - 1))
End Sub
CIAO
Michael