Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
300to304
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
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Prozedur erweitern

VBA Prozedur erweitern
28.08.2003 14:10:01
Fritz
Hallo Excelfreunde,
ich brauche eure Hilfe, denn ich schaffe es nicht, die nachfolgend aufgeführte Prozedur entsprechend meinen geschilderten Anforderungen abzuändern.
Mit mit der bisherigen Prozedur wird in der jeweiligen Arbeitsmappe ein Tabellenblatt "Tabellenliste" eingefügt, in dem eine Liste der in der Mappe vorhandenen Tabellenblätter angelegt wird. Ist diese Tabelle bereits erstellt bzw. vorhanden, dann läuft das Makro so natürlich nicht mehr. Ich würde das Makro gerne erweitern, so dass in einem solchen Fall (wenn die Tabelle Tabellenliste bereits existiert), eine Abfrage erscheint, bei der der Anwender entscheiden kann, ob das Makro abgebrochen wird (also die bestehende Tabelle Tabellenliste so bestehen bleibt) oder aber gelöscht wird (danach "neu" erstellt wird um die Liste ggf zu aktualisieren). Möglich wäre natürlich auch den Code so umzuschreiben, dass bei einer bestehenden Tabelle nur die Liste neu geschrieben (aktualisiert) wird.
Für Hilfen eurerseits danke ich im Voraus.
Gruß Fritz


Sub Tabellenliste()
Dim ws As Worksheet
Dim i As Integer
Worksheets.Add
ActiveSheet.Name = "Tabellenliste"
ActiveSheet.Move Before:=Worksheets(1)
i = 1
For Each ws In ThisWorkbook.Worksheets
ThisWorkbook.Worksheets("Tabellenliste") _
.Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Prozedur erweitern
28.08.2003 14:31:55
Nayus
Hallo,
habe Variante 2 implementiert...
Viel Spaß,
Nayus


Sub Tabellenliste()
Dim ws As Worksheet
Dim i As Integer
Dim bWsPresent As Boolean
bWsPresent = False
For b = 1 To Worksheets.Count
If Worksheets(b).Name = "Tabellenliste" Then
bWsPresent = True
Exit For
End If
Next b
' Wenn Blatt bereits vorhanden...
If Not bWsPresent Then
'Blatt anlegen
Worksheets.Add
ActiveSheet.Name = "Tabellenliste"
ActiveSheet.Move Before:=Worksheets(1)
Else
'Blatt auswählen und Zellen leeren
Worksheets("Tabellenliste").Select
ActiveSheet.Range("A1:A256") = ""
End If
i = 1
For Each ws In ThisWorkbook.Worksheets
ThisWorkbook.Worksheets("Tabellenliste") _
.Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub

Anzeige
AW: Klappt hervorragend - Danke!
28.08.2003 14:42:31
Fritz
Hi Nayus,
blitzschnell und dazu excellent.
Danke und mein Kompliment.
Mfg Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige