Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Alle Blattnamen auflisten

Betrifft: Alle Blattnamen auflisten von: Klaus
Geschrieben am: 09.11.2005 08:16:12

Guten Morgen zusammen
Ich möchte in Tabelle1 ab H1 alle Blattnamen ab Sheet 3 einer Arbeitsmappe aufgelistet haben. Geht das mit einer Formel, oder mit VBA?

Gruss Klaus

  


Betrifft: ohne VBA von: Mac4
Geschrieben am: 09.11.2005 08:44:25

Hallo Klaus,

definiere zuerst einen Namen.
Name in der Arbeitsmappe z.B. Name
unter "bezieht sich auf" =Arbeitsmappe.Zuordnen(1)

IN H1 folgende Formel und runterziehen:
=TEIL(INDEX(Name;ZEILE()+2);FINDEN("]";INDEX(Name;ZEILE()+2+1));99)

Marc


  


Betrifft: AW: Alle Blattnamen auflisten von: Erich M.
Geschrieben am: 09.11.2005 08:45:54

Hallo Klaus,

hier ein Muster wie ich das Inhaltsverzeichnis erstelle; kannst Du anpassen:
Option Explicit


Sub inhaltsverzeichnis_erstellen()
'Inhaltsverzeichnis aller Tabellenblätter
'im erten Tabellenblatt ab Zeile A1 einfügen
Dim Blatt As Object
Dim zeile As Double
Dim NewSheet As Worksheet
Dim i As Integer

zeile = 3
'Fehlerhandling
On Error Resume Next

'Abfrage unterdrücken
Application.DisplayAlerts = False
Application.ScreenUpdating = False

'Sheet Inhaltsverzeichnis auf jeden Fall löschen
Sheets("Inhaltsverzeichnis").Delete

'Neues Tabellenblatt mit dem Namen Inhaltsverzeichnis hinzufügen
Set NewSheet = Worksheets.Add
NewSheet.Name = "Inhaltsverzeichnis"
Sheets("Inhaltsverzeichnis").Move before:=Sheets(1) ' = Tabellenblatt als erstes
'Überschrift Einfügen und formatieren
With Sheets("Inhaltsverzeichnis").Range("A1")
.Value = "Inhaltsverzeichnis"
.Font.Name = "Arial"
.Font.Size = "18"
.Font.Bold = True
.Font.ColorIndex = 6
.Interior.ColorIndex = 5
.Interior.Pattern = xlSolid
.Interior.PatternColorIndex = xlAutomatic
.Font.Underline = xlUnderlineStyleSingle
End With
With Cells(1, 2)
.Font.Name = "Arial"
.Font.Size = "18"
.Font.Bold = True
.Font.ColorIndex = 6
.Interior.ColorIndex = 5
.Interior.Pattern = xlSolid
.Interior.PatternColorIndex = xlAutomatic
End With
With Cells(1, 3)
.Font.Name = "Arial"
.Font.Size = "18"
.Font.Bold = True
.Font.ColorIndex = 6
.Interior.ColorIndex = 5
.Interior.Pattern = xlSolid
.Interior.PatternColorIndex = xlAutomatic
End With


With Cells(2, 1)
.Value = "sortiert nach Blatt-Nr."
.Font.Name = "Arial"
.Font.Size = "16"
.Font.Bold = True
.Font.Underline = xlUnderlineStyleSingle

End With
With Cells(2, 5)
.Value = "alphabetisch sortiert"
.Font.Name = "Arial"
.Font.Size = "16"
.Font.Bold = True
.Font.Underline = xlUnderlineStyleSingle

End With
'Laufende Blattnummerierung + Blattname einfügen
For Each Blatt In Sheets
Sheets("Inhaltsverzeichnis").Cells(zeile, 1).Value = "Blatt " & zeile - 2
Sheets("Inhaltsverzeichnis").Cells(zeile, 2).Value = Blatt.Name
Sheets("Inhaltsverzeichnis").Hyperlinks.Add Anchor:=Cells(zeile, 2), Address:="", SubAddress:="'" & _
Blatt.Name & "'!A1", TextToDisplay:=Blatt.Name
zeile = zeile + 1
Next Blatt

ActiveSheet.Columns("B:B").EntireColumn.AutoFit

'Kopiere die zwei erstellten Spalten und sortiere Hyperlinks
Range("A3", Range("B65536").End(xlUp)).Select
Selection.Copy
Range("D3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("D3", Range("E65536").End(xlUp)).Select
Selection.Sort Key1:=Range("E3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

ActiveSheet.Columns("D:E").EntireColumn.AutoFit
ActiveWindow.DisplayGridlines = False
Range("A3").Select
ActiveWindow.FreezePanes = True

Cells(1, 4).Value = "Diese Datei hat " & Worksheets.Count & " Tabellen"
'Userform ausblenden
'frmInhaltsverz.Hide

'Ursprungszustand wieder herstellen
Application.DisplayAlerts = True
Application.ScreenUpdating = True


End Sub



Code eingefügt mit: Excel Code Jeanie

mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
Private Tippgemeinschaft für Lotto oder KENO: http://www.kenostrategen.de


  


Betrifft: AW: Alle Blattnamen auflisten von: Harald E
Geschrieben am: 09.11.2005 08:51:37

Moin Klaus,

oder ein kleiner 5-zeiler ins Blattmodul von Blatt 1

Private Sub Worksheet_Activate()
dim x as double, i as double
x = 1
For i = 3 To Sheets.Count
Cells(x, 8) = Sheets(i).Name
x = x + 1
Next i
End Sub

Gruss Harald


  


Betrifft: AW: Alle Blattnamen auflisten von: Korl
Geschrieben am: 09.11.2005 09:15:11

Hallo Harald,

ich finde Deinen Code interessant. Läßt sich die Anzeige der Blattnamen auch in eine
MsgBox einbinden?

Gruß Korl


  


Betrifft: AW: Alle Blattnamen auflisten von: Klaus
Geschrieben am: 09.11.2005 09:17:25

Hallo zusammen
Vielen Dank für die Hilfe, werde mir das beste raussuchen

Gruss Klaus


  


Betrifft: AW: Alle Blattnamen auflisten von: Harald E
Geschrieben am: 09.11.2005 09:24:20

Moin Korl,

ist lediglich vba-Hausmannskost. Der Code scheitert, wenn z.B Blätter verschoben werden.

Sub blattname()

For i = 2 To Sheets.Count
MsgBox Sheets(i).Name
Next i

End Sub


Gruss Harald


  


Betrifft: AW: Alle Blattnamen auflisten von: Korl
Geschrieben am: 09.11.2005 11:10:33

Hallo Harald,

hab Dank für Deine Unterstützung, es funktioniert.

Übrigens, ich benutze es auch nur als Hausmannskost ;-)

Gruß Korl


  


Betrifft: Danke für die Rückmeldung ;-)) owT von: Harald E
Geschrieben am: 09.11.2005 11:13:20



Gruss Harald


 

Beiträge aus den Excel-Beispielen zum Thema "Alle Blattnamen auflisten"