Startseite

VBA in Excel 2010

* createExcelIndex



Impressum

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 ;)