Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
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

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

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
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
Anzeige

93 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige