Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblätter löschen, wenn Zelle leer

Tabellenblätter löschen, wenn Zelle leer
21.01.2021 18:39:46
Jana
Ich möchte gerne automatische Quittungen erstellen. Dazu gibt es das "Bestellblatt" mit allen Mitarbeiternamen (Zellen "A10:A84"). Wenn die Gesamtsumme (Zellen "AG10:84") bei dem jeweiligen Mitarbeiter nicht leer ist, soll ein Tabellenbaltt mit einer Quittung angelegt werden und die tägliche Bestellung des Mitarbeiters aus dem Bestellblatt übernommen werden. Dazu habe ich ein Tabellenblatt "Quittung_Muster" erstellt und die entsprechenden Zellbezüge hergestellt.
Nun zur VGA-Programmierung:
Sub Quittungen_anlegen()
Dim quittMuster As Range, zz As Long, ss As Long
Set quittMuster = Sheets("Quittung_Muster").Columns("A:C")
With Sheets("Bestellblatt")
For zz = (10) To (84)
For ss = 1 To Sheets.Count
If Sheets(ss).Name = CStr(.Cells(zz, 1)) Then
MsgBox "Blatt '" & .Cells(zz, 1) & "' bereits vorhanden.", vbInformation
Exit For
End If
Next ss
If ss > Sheets.Count Then
Worksheets.Add after:=Sheets(Sheets.Count)
quittMuster.Copy Cells(1, 1)
Cells(4, 2) = .Cells(zz, 1)
ActiveSheet.Name = CStr(Cells(4, 2))
End If
Next zz
End With
End Sub

Das funktioniert gut. Nun möchte ich aber die Quittungen wieder automatisch löschen, deren Gesamtsumme (Zelle: C33) 0 € beträgt. Ich habe es so probiert, aber das funktioniert leider nicht:
Function Loeschen()
Dim objBlatt As Worksheet
Application.DisplayAlerts = False
For Each objBlatt In Worksheets
Select Case objBlatt.Name
Case "Bestellblatt", "Quittung_Muster"
Case Else
If objBlatt.Cells(33, 2).Value = "" Then objBlatt.Delete
End Select
Next
Application.DisplayAlerts = True
End Function

Ich würde mich sehr freuen, wenn Ihr mir weiterhelfen könntet. Hier die Excel-Datei: https://www.herber.de/bbs/user/143206.xlsx
Schon einmal vielen lieben Dank.
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter löschen, wenn Zelle leer
21.01.2021 18:49:59
Regina
Hi,
Du musst dann auch auf 0 prüfen und nicht auf "" (leer)
Gruß Regina
AW: Tabellenblätter löschen, wenn Zelle leer
21.01.2021 21:13:56
GerdL
Moin Jana,
... und Sub Loeschen statt Function Loeschen sowie Cells(33, 3) für C33.
Gruß Gerd
AW: Tabellenblätter löschen, wenn Zelle leer
22.01.2021 09:57:53
Herbert_Grom
Hallo Jana,
probiers mal damit, damit hat es bei mir funktioniert:
Sub Quittungen_loeschen()
Dim iCount%
For iCount = 1 To Sheets.Count - 2
If Sheets("Name " & iCount).Cells(33, 3) = 0 Then
Application.DisplayAlerts = False
Sheets("Name " & iCount).Delete
End If
Next iCount
End Sub
Servus
Anzeige
AW: Tabellenblätter löschen, wenn Zelle leer
22.01.2021 13:26:07
Jana
Vielen lieben Dank, es hat geklappt.
AW: Gerne geschehen und danke für die Rückmeldung!
22.01.2021 15:31:24
Herbert_Grom
,,,
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige