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

Case Anweisung / Leeres Blatt überspringen

Forumthread: Case Anweisung / Leeres Blatt überspringen

Case Anweisung / Leeres Blatt überspringen
06.05.2020 09:48:51
Sascha
Hallo Zusammen!
Folgendes Problem: ich habe vor kurzem von Franz (fcs) eine tolle Funktion geschrieben bekommen, die verschiedene Dinge für mich ausführt.
Das Programm geht durch die Case Funktion eine bestimmte Auswahl an Worksheets durch und führt eine Operation in jedem Blatt aus. Das klappt auch wunderbar.
Folgender Fehler muss nun aber noch abgefangen werden:
Was, wenn eines der vorher erzeugten Arbeitsblätter der Auswertung keinen Inhalt hat?
Die Case Anweisung sieht wie folgt aus:

Sub Gruppieren() 'Haupt-Makro 'CommandbuttonXXX_Click() 'name des makros anpassen
'Alle Blätter - mit Ausnahmen gruppieren
Dim wkb As Workbook, wks As Worksheet, dateVal As Variant
Dim sPrompt As String
Set wkb = ActiveWorkbook
EingabeDatum:
sPrompt = sPrompt & "Bitte ein gültiges Datum in der Form TT.MM.JJJJ eingeben:"
dateVal = InputBox(sPrompt, "Fälligkeitsdatum", "TT.MM.JJJJ") 'Datum für jedes Blatt
If dateVal = "" Then 'Abgebrochen
Exit Sub
ElseIf IsDate(dateVal) Then
dateVal = CDate(dateVal)
For Each wks In wkb.Worksheets
Select Case wks.Name
Case "Tabelle 1", "Steuerung"
'diese Blätter nicht bearbeiten
Case Else
Call GruppierenEinzeln(wks, dateVal)
End Select
Next
Else
sPrompt = "Eingabe ist kein gültiges Datum" & vbLf
GoTo EingabeDatum
End If
MsgBox "Fertig - Gruppieren"
End Sub

Falls ihr jetzt denkt "Warum ist überhaupt ein Arbeitsblatt ohne Inhalt erzeugt", ein kurzer Abriss, was ich mit dem Programm mache:
1. Importiere CSV Liste mit offenen Posten verschiedener Handelspartner
2. Extrahiere jeden Eintrag gem. des Handelspartners in ein separates Worksheet
3. Berechne Summen zu einem Stichtag in den einzelnen Worksheets
Ich erzeuge pauschal zu Beginn von Punkt 2 die Arbeitsblätter der Handelspartner. In der Regel tauchen auch immer alle Handelspartner im CSV Import auf. Theoretisch könnte es aber auch mal anders sein, daher wäre es gut diesen Fehler abzufangen, in dem er die Worksheets ohne Inhalte (ab Zeile 2, da Zeile 1 immer mit der Tabellenüberschrift befüllt wird) überspringt.
Any ideas?
Danke euch!
Viele Grüße
Sascha
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Case Anweisung / Leeres Blatt überspringen
06.05.2020 10:05:29
Werner
Hallo,
du kannst doch im Else Fall prüfen ob eine bestimmte Zelle (welche, weißt nur du) einen Inhalt hat und nur dann das Makro aufrufen.
Nach dem Muster:
Case Else
If wks.Cells(2, "A")  "" Then
Call GruppierenEinzeln(wks, dateVal)
End If
End Select
Gruß Werner
Anzeige
AW: Case Anweisung / Leeres Blatt überspringen
06.05.2020 10:49:59
GerdL
Moin Sascha!
If WorksheetFunction.CountA(wks.Cells) > WorksheetFunction.CountA(wks.Rows(1)) Then Call ...
Gruß Gerd
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige