Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hyperlinks zu gleichnamigen Tabellenblättern

Hyperlinks zu gleichnamigen Tabellenblättern
07.06.2019 16:08:40
Alex
Hallo zusammen,
Ich habe folgendes Problem.
Ich habe eine Excelmappe mit ca. 80-90 Blättern, zwischen denen ich hin und herspringen muss.
Über folgendes Makro habe ich mir schonmal eine Art Inhaltsverzeichnis erstellt:

Sub Verzeichnis_Blaetter()
'Erstellen einer Liste aller Excel-blaetter
Dim Zeile As Integer
Dim Liste As Worksheet
Set Liste = ActiveWorkbook.Worksheets.Add               'Neues Blatt hinzufügen
For Zeile = 1 To ActiveWorkbook.Worksheets.Count        'Zeile für jedes Blatt wechseln
Liste.Cells(Zeile, 1).Value = Worksheets(Zeile).Name   'Name des Blatts in die Zeile schreiben
Next Zeile
Worksheets(1).Name = "Übersicht"                        'Huebsch machen
Range("A1").Select
ActiveCell.FormulaR1C1 = "Übersicht"
Selection.Font.Bold = True
With Selection.Font
.Name = "Arial"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Selection.Font.Underline = xlUnderlineStyleSingle
End Sub

Nun steht in den Zellen A2-Axx jeweils der Name des Blatts.
Als nächstes würde ich gerne aus dem Namen einen Link zu dem Blatt machen. Leider komme ich mit _ der Syntax des Hyperlinks nicht ganz klar. Der Name des Blatts zu dem ich linken will steht ja schon in der Zelle drin, daher dachte ich, dass ich mit:

For Zeile = 2 To ActiveWorkbook.Worksheets.Count
Rangeee = A & Zeile
LinkName = Range(Rangeee).Value
Range(Rangeee).Select
'MsgBox (Rangeee & " " & LinkName)
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'LinkName'!Rangee", TextToDisplay:= _
"LinkName"
Next Zeile

Jedoch wird dann aus jeder Zelle LinkName mit verknüpfung ins nichts..
Leider komme ich mit meinen begrenzten Kenntnissen nicht weiter.
Ist das was ich möchte möglich?
Vielen Dank im voraus.
Liebe Grüße
Alex

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks zu gleichnamigen Tabellenblättern
07.06.2019 21:51:07
Sepp
Hallo Alex,
das geht doch alles in einem Rutsch.
Sub Verzeichnis_Blaetter()
  Dim lngIndex As Long, objWS As Worksheet
  
  On Error Resume Next
  Set objWS = Worksheets("Übersicht")
  Err.Clear
  On Error GoTo 0
  
  If objWS Is Nothing Then
    Set objWS = ActiveWorkbook.Worksheets.Add
    With objWS
      .Move Before:=ThisWorkbook.Worksheets(1)
      .Name = "Übersicht"
      With .Cells(1, 1)
        .Value = "Übersicht"
        .Font.Bold = True
        .Font.Size = 14
      End With
    End With
  Else
    objWS.Range("A2:A" & objWS.Rows.Count).Clear
  End If
  With objWS
    For lngIndex = 2 To ThisWorkbook.Worksheets.Count
      .Hyperlinks.Add anchor:=.Cells(lngIndex, 1), Address:="", _
            SubAddress:="'" & Sheets(lngIndex).Name & "'!A1", _
              TextToDisplay:=Sheets(lngIndex).Name
    Next
    .Columns(1).AutoFit
  End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige
AW: Hyperlinks zu gleichnamigen Tabellenblättern
07.06.2019 23:57:32
Alex
Hallo Sepp,
Wow, ich bin schwer beeindruckt. Ich verstehe zwar kaum was von dem Code, aber es macht genau was ich gerne hätte.
Vielen vielen Dank!
Ich hätte noch eine Frage. Ich würde gerne auf allen Seiten einen Link zur Übersicht (also Blatt 1) anlegen. Ich kann zwar über Worksheets(ZählerInt) also z.b. For ZählerInt = 4 To ActiveWorkbook.Worksheets.Count das Blatt auswählen bzw. bestimmen. Bekomme es aber nicht hin dort in eine Zelle den Link einzufügen.
Worksheet(ZählerInt).Range("L1").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Übersicht!A1", TextToDisplay:="Übersicht!A1"
Funktioniert irgendwie nicht.. Vielleicht liegt es auch an der Uhrzeit..
Vielen Dank nochmal!
Liebe Grüße
Alex
Anzeige
AW: Hyperlinks zu gleichnamigen Tabellenblättern
08.06.2019 06:33:28
Sepp
Hallo Alex,
Sub Verzeichnis_Blaetter()
  Dim lngIndex As Long, objWS As Worksheet
  
  On Error Resume Next
  Set objWS = Worksheets("Übersicht")
  Err.Clear
  On Error GoTo 0
  
  If objWS Is Nothing Then
    Set objWS = ActiveWorkbook.Worksheets.Add
    With objWS
      .Move Before:=ThisWorkbook.Worksheets(1)
      .Name = "Übersicht"
      With .Cells(1, 1)
        .Value = "Übersicht"
        .Font.Bold = True
        .Font.Size = 14
      End With
    End With
  Else
    objWS.Range("A2:A" & objWS.Rows.Count).Clear
  End If
  With objWS
    .Activate
    For lngIndex = 2 To ThisWorkbook.Worksheets.Count
      .Hyperlinks.Add Anchor:=.Cells(lngIndex, 1), Address:="", _
            SubAddress:="'" & Sheets(lngIndex).Name & "'!A1", _
              TextToDisplay:=Sheets(lngIndex).Name
      Sheets(lngIndex).Hyperlinks.Add Anchor:=Sheets(lngIndex).Range("L1"), _
            Address:="", SubAddress:="Übersicht!A1", TextToDisplay:="Übersicht"
    Next
    .Columns(1).AutoFit
  End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige
AW: Hyperlinks zu gleichnamigen Tabellenblättern
11.06.2019 11:00:34
Alex
Perfekt!
Super vielen Dank nochmal!

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige