VBA in Excel 2010 - createExcelIndex
Kennt ihr das auch, man hat eine riesige Exceltabelle mit vielen Tabellen ohne eine richtige Übersicht zu haben?
Folgender Code erstellt in der vorgegebenen Tabelle ein Inhaltsverzeichnis mit den Spalten "Bemerkung", "Link" und den "Namen" der Tabelle.
Sub createExcelIndex()
Dim sheet As Worksheet
Dim counter As Integer
Dim inhalt As String
Dim boxtext As String
Dim boxttitle As String
counter = 2
boxtext = "Geben Sie den Namen der Tabelle ein," & vbcrlf & _
"indem dass Inhaltsverzeichnis erstellt werden soll!"
boxttitle ="Tabelle für Inhaltsverzeichnis"
inhalt = InputBox(boxtext, boxttitle, "Tabelle1")
Set inhaltsverzeichnis = ActiveWorkbook.Worksheets(inhalt)
inhaltsverzeichnis.Range("A1") = "Bemerkung"
inhaltsverzeichnis.Range("B1") = "Link"
inhaltsverzeichnis.Range("C1") = "Name"
inhaltsverzeichnis.Columns("A:A").ColumnWidth = 75
inhaltsverzeichnis.Columns("B:B").ColumnWidth = 10
inhaltsverzeichnis.Columns("C:C").ColumnWidth = 20
For Each sheet In ActiveWorkbook.Worksheets
If sheet.Visible = True Then
'sheet.Select 0
sheet.Hyperlinks.Add Anchor:= inhaltsverzeichnis.Range("B" & counter), _
Address:="", _
SubAddress:="'" & sheet.Name & "'!A1", _
ScreenTip:= "Zur Tabelle " & sheet.Name, _
TextToDisplay:="Klick mich!"
inhaltsverzeichnis.Range("C" & counter) = sheet.Name
counter = counter + 1
End If
Next
Set inhaltsverzeichnis = Nothing
End Sub
Der Quellcode ist relativ einfach, viel Spass bei der Verwendung ;)