2.8k Aufrufe
Gefragt in Windows 7 von
Hallo VBA-Profis,

ich habe ein Problem mit VBA-Excel.
Zelle F100 im "GB"-Tabellenblatt muss leer ist oder gleichtzeitig die Zellen A100 bis
F100 müssen befüllt sein.
Sollte dies nicht eintreffen, dann soll eine Msg-Box aufpoppen mit der Meldung
"Nicht so befüllt, wie es sein sollte" und die alle hinterlegte Makros nicht ausführen
lassen. So sieht es auch und es funktioniert.

Private Sub CommandButton10_Click()

With Worksheets("GB")
If (.Cells(100, 6) = "") Or WorksheetFunction.CountA(Range("A100:F100")) = 6
Then

D_A 'Makro
D_B 'Makro


Else
MsgBox "Tabellenblaut GS, :" & vbCrLf _
& "bitte prüfen"
End If
End With

End Sub

Dieser Makro funktioniert, aber ich möchte es wie folgt erweitern und hier ist das
Problem:
Ich bräuchte jetzt das Makro so, dass er in zwei verschiedenen Tabellenblätter prüft
(nicht nur in "GB"), also auch im Tabellenblatt "PS"
bevor die Makros ausführt.
Voraussetzungen sind fast identisch (aber nur fast).
Tabellenblatt: "PS":
Zelle F100 im "GB"-Tabellenblatt leer ist oder gleichtzeitig die Zellen A100 bis F100
und L100 bis M100 befüllt sind.

Sollte dies jedoch nicht eintreffen, dann brauche ich eine Msg-Box-Fehlermeldung
mit folgendem Satz:

"Tabellenblatt PS bitte prüfen"

Ich sage schon jetzt danke.

Sollte es unverständlich gewesen sein, dann bitte ich um kurze Rückmeldung.

Gruß
Max

22 Antworten

0 Punkte
Beantwortet von
Hi M.O.

scheint endlich so zu funktionieren, wie ich es mir vorgestellt habe.

1.000 Dank dafür sind vermutlich zu wenig.

Ich habe unzähle tests gemacht, schließe jedoch nicht aus, dass ich wieder auf Dich zukommen werde, wenn ich dann weitergetested habe.

Eine Frage habe ich noch:
If bFehlerGB = True And bFehlerPS = False Then MsgBox "Bitte Blatt GB überprüfen!", 16, "Fehler!"

Was bedeutet eigentlich die Zahl "16" in der Zeile davor?

Gruß und nochmals Danke
Max
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Max,

freut mich, dass das Makro jetzt so funktioniert, wie du willst.

Die 16 bedeutet, dass eine Messagebox mit Stoppzeichen (VbCritical) und nur mit OK-Taste angezeigt wird.
Schau mal dazu hier nach: LINK
Unten auf der Seite, siehst du, was die Zahlen bedeuten.
Würdest du z.B. statt der Zahl 16 die Zahl 17 in die Anweisung schreiben, so würde wieder eine Messagebox mit Stopp-Symbol, jetzt aber mit den Tasten OK und Abbrechen angezeigt.

Gruß

M.O.
...