Anzeige
Archiv - Navigation
1756to1760
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
Inhaltsverzeichnis

Mit VBA autom. Tabellenblätter anlegen

Mit VBA autom. Tabellenblätter anlegen
05.05.2020 15:34:52
luftgetrocknet
Hallo zusammen,
ich habe in Excel eine variabel lange Liste mit Kürzeln, die durch eine Pivot-Tabelle erstellt wird:
föbe
hasv2
peka
poch
schma
spth
stni
strb
Nun möchte ich per Makro für alle in der Liste genannten Kürzel ein entsprechend benamtes Tabellenblatt anlegen. Ich habe es versucht mit einer For Each-Schleife, dazu reichen meine VBA-Kenntnisse aber leider nicht aus. Kann mir jemand auf die Sprünge helfen?
Vielen lieben Dank.
Schöne Grüße
luftgetrocknet

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 15:41:02
MRUTor
Hallo,
man sollte wissen, wo diese Kuerzel genau stehen. Den Bereich und das Tabellenblatt, meine ich.
Beispieldatei waere sicher hilfreich.
Gruss Tor
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 15:45:45
Hajo_Zi

Option Explicit
Sub Tabellen()
Dim RaZelle As Range
For Each RaZelle In Range("I1:I8")
Sheets.Add(after:=Sheets(Sheets.Count)).Name = RaZelle
Next RaZelle
End Sub
GrußformelHomepage
Anzeige
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 16:01:18
luftgetrocknet
Hallo Hajo,
vielen Dank für die schnelle Antwort! Funktioniert einwandfrei aber jetzt habe ich festgestellt, dass ich nur die halbe Wahrheit gesagt habe. In meiner Liste gibt es nämlich manchmal auch Leerzellen. Für diese soll dann keine Tabelle angelegt werden.
stni
strb
drfl
kose
laju
Wie macht man das?
VG luftgetrocknet
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 16:02:51
Hajo_Zi
if razelle" then
Sheets.Add(after:=Sheets(Sheets.Count)).Name = RaZelle
End If
Gruß Hajo
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 19:02:44
luftgetrocknet
Mensch Hajo,
das ist ja super!
Wenn du mir jetzt auch noch verraten kannst, wie man alle Blätter einer Arbeitsmappe löscht, ohne die folgenden, dann bin ich der glücklichste Mensch auf der Welt :-)
Tabelle1 (Zeiten pro SB (mtl.))
Tabelle10 (Jahr 1-4)
Tabelle2 (Vorlage)
Tabelle3 (Auswahl)
Tabelle5 (Jahr2)
Tabelle6 (Jahr1)
Tabelle7 (Jahr1-1)
Tabelle8 (Jahr1-2)
Tabelle9 (Jahr1-3)
Vielen lieben Dank.
Gruß luftgetrocknet
Anzeige
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 19:04:50
Hajo_Zi
das geht nicht, da min 1 vorhanden sein muss.
Gruß Hajo
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 19:15:35
luftgetrocknet
Da hab ich mich wohl missverständlich ausgedrückt.
Es sollen alle Tabellenblätter gelöscht werden BIS AUF die folgenden:
Tabelle1 (Zeiten pro SB (mtl.))
Tabelle10 (Jahr 1-4)
Tabelle2 (Vorlage)
Tabelle3 (Auswahl)
Tabelle5 (Jahr2)
Tabelle6 (Jahr1)
Tabelle7 (Jahr1-1)
Tabelle8 (Jahr1-2)
Tabelle9 (Jahr1-3)
Gelöscht werden sollen also bei der zweiten Ausführung des Makro die Tabellenblätter, die bei der ersten Ausführung angelegt worden waren, also die, die so heißen wie die Kürzel.
VG luftgetrocknet
Anzeige
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 19:16:02
luftgetrocknet
.
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 19:24:34
Werner
Hallo,
z.B. so:
Option Explicit
Public Sub Blätter_löschen()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Zeiten pro SB (mtl.)", "Jahr 1-1", "Jahr 1-2", "Jahr 1-3", _
"Jahr 1-4", "Vorlage", "Auswahl", "Jahr1", "Jahr2"
Case Else
ws.Delete
End Select
Next ws
End Sub
Gruß Werner
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 19:52:17
luftgetrocknet
Danke, ich bin restlos begeistert aber offensichtlich ein Nimmersatt.
Nun wollte ich noch, dass beim Schließen der Datei auch diese Sheets gelöscht werden und habe dazu bei "This Workbook" eingegeben:
Private Sub Workbook_Close()
Call Blätter_löschen
End Sub
Wenn ich diesen Sub manuell starte funktioniert das auch aber leider nicht, wenn ich die Datei einfach schließe :-(
Danke und LG luftgetrocknet
Anzeige
AW: Mit VBA autom. Tabellenblätter anlegen
05.05.2020 23:52:26
Mullit
Hallo,
Workbook_Close() jibbet nich, der Bursche heißt so:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub

Um Fehler zu vermeiden, läßt Du Dir im übrigen am besten Ereignisprozeduren über die beiden Dropdowns in dem Arbeitsmappenmodul anzeigen und per Auswahl-Klick automat. generieren...
Gruß, Mullit
AW: Mit VBA autom. Tabellenblätter anlegen
06.05.2020 10:18:28
luftgetrocknet
Hallo Mullit,
danke für den Tipp, werde ich beherzigen!
Jetzt bekomme ich keine Fehlermeldung mehr aber ausgeführt wird das Makro trotzdem nicht!
Starte ich das Makro "Private Sub Workbook_BeforeClose(Cancel As Boolean)" von Hand, findet er jetzt das Makro nicht mehr. Das verstehe ich nicht.
Danke und schöne Grüße
luftgetrocknet
Anzeige
AW: Mit VBA autom. Tabellenblätter anlegen
06.05.2020 17:45:32
luftgetrocknet
Hallo zusammen,
ich konnte das Problem jetzt schon selber beheben :-)
Vielen Dank nochmal für die Unterstützung.
Gruß luftgetrocknet

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige