Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1380to1384
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

Tabellenblätter variabel löschen

Tabellenblätter variabel löschen
10.09.2014 10:47:38
Johannes
Hallo liebes Forum,
ich sitz mal wieder 'fest'. Folgende Situation: Ich habe eine Tabelle in der mehrere Zeilen der Reihe nach ausgefüllt werden. Per VBA wird für jede gefüllte Zeile ein Tabellenblatt angelegt und nach der ersten Zelle benannt. Soweit funktioniert alles einwandfrei. Wenn jetzt Zeilen gelöscht werden möchte ich das beim Aktualisieren die Tabellenblätter auch gelöscht werden die nicht mehr aktuell sind.
Einfacher: Alle Tabellenblätter (außer die 2 Masterblätter) löschen und dann wieder neu generieren.
Hat jemand eine Idee wie ich alle Tabellenblätter bis auf die 2 Masterblätter löschen kann?
Danke für eure Hilfe.
Johannes

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter variabel löschen
10.09.2014 10:55:53
yummi
Hallo Johannes,
entweder beim Löschen der Zeile noch zusätzlich:
z.B. für zeile x (welche Zeile du löschen willst weisst du ja
Worksheets(richtigeSheet.Cells(x, 1).value).Delete
oder wenn du alle löschen willst bis auf deine Master:

function Loeschen()
Dim objBlatt As Worksheet
Application.DisplayAlerts = False
For Each objBlatt In Sheets
If objBlatt.Name  "Master1" and objBlatt.Name  "Master2" Then objBlatt.Delete
Next
Application.DisplayAlerts = True
End function
Gruß
yummi

AW: Tabellenblätter variabel löschen
10.09.2014 10:56:13
Christian
Hallo Johannes,
so zB (Tab-Namen entsprechend anpassen):
Option Explicit
Sub DeleteWorkSheets()
Dim wks as Worksheet
Application.DisplayAlerts = False
For Each wks in ThisWorkbook.WorkSheets
If wks.Name  "Master-1" And wks.Name  "Master-2" Then
wks.Delete
End if
Next
Application.DisplayAlerts = True
End Sub
Gruß
Christian

Anzeige
and?
10.09.2014 10:59:22
Jack_d
müsste es nicht "or" sein?
Grüße

AW: and?
10.09.2014 11:03:37
Johannes
Funktioniert perfekt! Danke

AW: and?
10.09.2014 11:06:14
yummi
Halo Jack,
wenn du da or nimmst, dann löscht du alles!!!
wenn du auf das sheet master1 kommst dann schlägt der 2. teil der Bedingung zu und du löscht
wenn du auf das sheet master2 kommst dann schlägt der 1. teil der Bedingung zu und du löscht
Demzufolge sind dann alle Tabellenblätter gelöscht
Gruß
yummi

Tacho
10.09.2014 11:13:40
Jack_D
Krieg ich grad nicht aufn Tacho.
Ein blattname kann doch nicht 2 Zustände (Namen) annehmen.
In meiner Logik müsste die frage dann doch eigentlich oder sein.
Vielleicht fehlt mir heut das vba -Gen.😝
Grusse

Anzeige
Wenn nicht das eine UND nicht das andere, dann ...
10.09.2014 11:21:29
Christian
jetzt klarer?
Gruß
Christian

macht Sinn
10.09.2014 11:27:29
Jack_d
Mit einfachen Logiken hatte ich schon immer meine Probleme o.O
Grüße und Danke für die Erläuterung

Ja, And !
10.09.2014 11:06:25
Christian
Gruß
Christian

AW: Besser Select Case
10.09.2014 11:10:05
Daniel
Hi
wenn mehrere Blätter "verschont" werden sollen, ist Select Case verständlicher als IF-THEN
for each sh in activeworkbook.worksheets
Application.DisplayAlerts = false
select case sh.Name
Case "Master-1", "Master-2"
Case else
sh.delete
end Select
Application.DisplayAlerts = true
Gruß Daniel

AW: Tabellenblätter variabel löschen
10.09.2014 10:57:34
Jack_d
Hallo Johannes
also ich hab ne ne Idee
Sub löschen
dim Arbeitsblatt als Arbeitsblatt
Dim Mappe als Excelmappe
für jedes Arbeitsblatt in dieser Excelmappe
wenn Arbeitsblatt.Name  Master 1 oder Arbeitsblatt.Name  Master 2 dann
lösche das Arbeitsblatt
ende wenn
ende Sub
Grüße

Anzeige
AW: Tabellenblätter variabel löschen
10.09.2014 11:03:07
Johannes
Danke danke danke! Hab´s anhand Christians Lösungsvorschlag umgesetzt! Klappt perfekt!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige