Verweis auf anderes Tabellenblatt...

Bild

Betrifft: Verweis auf anderes Tabellenblatt...
von: Jocki
Geschrieben am: 12.11.2003 10:26:41

Wie kann ich einen Verweis auf das dritte Tabellenblatt bekommen, ohne expilzit einen Namen des Tabellenblattes angeben zu müssen? Hab hier den Text "gehe zu 3" auf Tabellenblatt 1 und will nun, dass wenn man auf den Text klickt, Excel automatisch aufs dritte Arbeitsblatt springt!!!

Vielen Dank im Voraus,

Bild


Betrifft: AW: Verweis auf anderes Tabellenblatt...
von: Michael Brueggemann
Geschrieben am: 12.11.2003 10:39:16

Hallo Jocki,

benutze "Einfuegen - Hyperlink" und waehle "Aktuelles Dokument" unter "Link zu". Dann bekommst Du eine Auswahl der Tabellenblaetter der Arbeitsmappe.


CIAO
Michael


Bild


Betrifft: AW: Verweis auf anderes Tabellenblatt...
von: Jocki
Geschrieben am: 12.11.2003 10:45:10

Ja, will aber nicht den genauen Tabellennamen für mein drittes Tabellenblatt eingeben, sonder den Namen allgemein halten, da sich dieser dauernd ändert.
Dachte irgendwie an Sheets(3), aber keine Ahnung wie ich das einbinden kann!!!


Bild


Betrifft: AW: Verweis auf anderes Tabellenblatt...
von: Michael Brueggemann
Geschrieben am: 12.11.2003 13:28:12

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


Bild


Betrifft: AW: Verweis auf anderes Tabellenblatt...
von: Jocki
Geschrieben am: 12.11.2003 13:41:56

Hallo Michael,

junge junge, hast Dir ja voll die Mühe gemacht. Wie muss ich das jetzt einbauen? Einfach als VBA Code in das entsprechende Tabellenblatt?

Hab ich nämlich probiert, aber dann funktioniert der Link auf das zweite Tabellenblatt nicht mehr, wenn ich jetzt den Namen absolut eingebe!!!


Bild


Betrifft: AW: Verweis auf anderes Tabellenblatt...
von: Michael Brueggemann
Geschrieben am: 12.11.2003 16:25:46

Hallo Jocki,

der Code muss in "DieseArbeitsmappe" ("ThisWorkbook"), denn die Ereignisse haengen an der Arbeitsmappe, nicht an einer einzelnen Tabelle. Sollte fuer alle Tabellen dieser Arbeitsmappe funktionieren.


CIAO
Michael


Bild

Beiträge aus den Excel-Beispielen zum Thema " Verweis auf anderes Tabellenblatt..."