Anzeige
Archiv - Navigation
1956to1960
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

MsgBox mit If Anweisung

MsgBox mit If Anweisung
19.12.2023 11:45:15
THET
Hallo Zusammen

Ich stehe gerade auf dem Schlauch und hoffe, das mir jemand helfen kann.

Beim Klick auf einen Speichern Button in einer UserForm soll eine Abfrage gestartet werden, ob x Textfelder befüllt wurden.
wenn ja = Speichern
wenn nein = msg Box mit der Info, dass erst befüllt werden soll.

In meinem Code funktioniert das ganze grundsätzlich, nur zeigt es mir die msgBox auch an, wenn die Textfelder voll sind.

Hier der Code:

'Prüfung, ob alle Felder befüllt sind
Dim KontrolleFelder As String

KontrolleFelder = (TextBoxBeobachtung.Value = "" Or TextBoxMassnahme.Value = "" Or TextBoxLogbuch = "")

Dim msgBoxKontrolleFelder As String
msgBoxKontrolleFelder = msgBox("Bitte fülle alle Felder aus.", , "Achtung!")


If KontrolleFelder = True Then
Exit Sub
Else: KontrolleFelder = False
End If

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

Betreff
Datum
Anwender
Anzeige
AW: warum so ein arg beschnittener Codeschnipsel?? ...
19.12.2023 12:21:16
JoWE
Hallo Namenloser,
... der zudem auch nicht wirklich erhellend ist.

Gruß
Jochen
AW: MsgBox mit If Anweisung
19.12.2023 12:21:41
MCO
Moin!

Die Frage wird bei dir gestellt, immer, und dann kommt die Logik.

Andersherum wird´s was:
Sub Kontrolle()


Dim Fehlt_was As Boolean
Fehlt_was = WorksheetFunction.Min(Len(TextBoxBeobachtung.Value), Len(TextBoxMassnahme.Value), Len(TextBoxLogbuch)) = 0

If Fehlt_was Then
MsgBox "Bitte fülle alle Felder aus.", , "Achtung!"
Exit Sub
End If
End Sub


Gruß, MCO
Anzeige
AW: MsgBox mit If Anweisung
19.12.2023 13:40:07
daniel
Hi
Korrekt ist zumindest die Anfrage der Feldrr
Ansonsten ist da einiges Falsch

1. Kontrollfelder muss Typ Boolean sein
2. Wenn die Msgbox nur kommen soll, wenn eine Bedingung erfüllt ist, dann muss sie innerhalb eine if-Blocks stehen. Steht sie außerhalb, kommt sie immer.
3. Der Rückgabewert einer Msgbox ist eine Ganzzahl, also ist auch der Datentyp für msgBoxKontrolleFelder als String falsch, da Ganzzahl am besten LONG
4. Den Rückgabewert der Msgbox zu speichern macht keinen Sinn, wenn die Box nur den OK-Button hat.
5.die Anweisung "KontrolleFelder = False" ist an dieser Stelle unnötig, da die Variable als Boolean an dieser Stelle diesen Wert haben muss.



Besser so:

Dim KontrolleFelder As Boolean

KontrolleFelder = (TextBoxBeobachtung.Value = "" Or TextBoxMassnahme.Value = "" Or TextBoxLogbuch = "")

If KontrolleFelder = True Then
msgBox "Bitte fülle alle Felder aus.", , "Achtung!"
Exit Sub
End If


Gruß Daniel
Anzeige
AW: MsgBox mit If Anweisung
19.12.2023 15:09:05
THET
Hey Daniel

Genial, das funktioniert top.

Danke für die Hilfe!

Gruss, Thomas
AW: MsgBox mit If Anweisung
19.12.2023 13:36:58
THET
Hallo MCO,

Das ist ja hervorragen wie das nun funktioniert!

Danke dir!

Gruss Thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige