| home |  
  

   © 2005 by Friedel Schmidt •  E-Mail  •                      Top  

   | impressum | feedback | home |  


Inhaltsverzeichnis

Suchen

Links
  

Inhaltsverzeichnis für Arbeitsmappen anlegen
Versionen: Excel 97, 2000 und 2002/XP

Mit dem nachfolgenden Makro wird eine neue Tabelle mit den Namen "Inhalt" am Anfang der Arbeitsmappe eingefügt. Danach werden die Namen aller Tabellen, die sich in der Arbeitsmappe befinden, nacheinander in diese Tabelle geschrieben. Zu jedem Eintrag, wird die jeweilige Zelle mit einem Hyperlink belegt, so dass man mit einem einzigen Mausklick auf die gewünschte Tabelle wechseln kann:


Sub Inhaltsverzeichnis()
Dim Tabelle As Worksheet
Dim i As Integer
  Worksheets.Add.Move before:=Worksheets(1)
  ActiveSheet.Name = "Inhalt"
  Cells(2, 2).Value = "Inhalt"
  i = 3
  For Each Tabelle In ActiveWorkbook.Worksheets
    If Tabelle.Name <> "Inhalt" Then
      Cells(i, 2).Value = Tabelle.Name
      Tabelle.Hyperlinks.Add Anchor:=Cells(i, 2), _
      Address:="", SubAddress:=Tabelle.Name & "!A1"
      i = i + 1
    End If
  Next Tabelle
End Sub


Erläuterungen:

Im ersten Schritt wird eine neue Tabelle über die Methode "Add" eingefügt. Anschließend wird diese neue Tabelle über die die Methode "Move" an den Beginn der Arbeitsmappe verschoben. Dazu ist die genaue Position über das Auflistungsobjekt "Worksheets" und dem ../index "1" anzugeben. Der neu eingefügten Tabelle wird über die Eigenschaft "Name" der Name "Inhalt" gegeben.
Nun wird eine Überschrift für diese Tabelle eingfügt, indem das Auflistungsobjekt "Cells" angesprochen und dabei die genau Zeilen- (erstes Argument) und Spaltenposition (zweites Argument) angegeben wird.
Ddanach durchläuft das Makro eine Schleife, mit deren Hilfe jede einzelne Tabelle der Arbeitsmappe angesprochen und der Namen der einzelnen Tabelle in die Tabelle "Inhalt" übertragen wird. Im Anschluss daran werden die eingetragenen Tabellennamen über die Methode "Add", angewendet auf das Objekt "Hyperlinks", verlinkt. So ist dann der direkte Sprung auf die gewünschte Tabelle möglich.