Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1564to1568
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

Mehrere If Abfragen , Eine MsgBox

Mehrere If Abfragen , Eine MsgBox
05.07.2017 15:21:21
Thomas
Hallo Profis,
Ich komm wieder nicht weiter ... :-(
ich habe mal das was ich versuche zusammen geschrieben, dass es hoffentlich verständlicher wird was ich machen möchte.
Ich hätte gerne das Excel 6 Zellen überprüft , ob etwas drin steht, falls nicht soll er das in der Msgbox untereinander auflisten. Am Ende soll er Fragen, ob wirklich gedruckt werden soll mit den Fehlern, ansonsten abbrechen
Dim Fehler As String 'Fehler
If Range("A3") = "" Then
Fehler = "- Bitte Feld 1 ausfüllen!" & vbNewLine
End If
If Range("C10") = "" Then
Fehler = "- Bitte Feld 2 ausfüllen!" & vbNewLine
End If
If Range("C34") = "" Then
Fehler = "- Bitte Feld 3 ausfüllen!" & vbNewLine
End If
If Range("C35") = "" Then
Fehler = "- Bitte Feld 4 ausfüllen!" & vbNewLine
End If
If Range("B23") = "" Then
Fehler = "- Bitte Feld 5 ausfüllen!" & vbNewLine
End If
If Range("F10") = "" Then
Fehler = "- Bitte Feld 6 ausfüllen!" & vbNewLine
End If
If IsEmpty(Fehler) Then
ActiveSheet.PrintOut
Else
MsgBox Fehler & "Trotzdem drucken?", vbYesNo, "Hinweis"
If MsgBox = vbYes Then
ActiveSheet.PrintOut
End If
End If
Vielen Dank
Thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere If Abfragen , Eine MsgBox
05.07.2017 15:42:31
Burkhard
Am einfachsten zuerst den String initialisieren
  Fehler = ""

und dann immer hintendranhängen
  Fehler = Fehler & " - Bitte Feld 1 ausfüllen!" & vbNewLine 

usw.
Grüße
Burkhard
AW: Mehrere If Abfragen , Eine MsgBox
05.07.2017 15:45:28
Zwenn
Hallo Thomas,
bei Deinem Versuch überschreibst Du die Variable Fehler immer bei einer weiteren gefundenen leeren Zelle. So wird am Ende nur die letzte Zeile in Deiner Meldung ausgegeben. Veruschs so:

Dim Fehler1 As String
Dim Fehler2 As String
Dim Fehler3 As String
Dim Fehler4 As String
Dim Fehler5 As String
Dim Fehler6 As String
Fehler1 = ""
Fehler2 = ""
Fehler3 = ""
Fehler4 = ""
Fehler5 = ""
Fehler6 = ""
If Range("A3") = "" Then
Fehler1 = "- Bitte Feld 1 ausfüllen!" & vbNewLine
End If
If Range("C10") = "" Then
Fehler2 = "- Bitte Feld 2 ausfüllen!" & vbNewLine
End If
If Range("C34") = "" Then
Fehler3 = "- Bitte Feld 3 ausfüllen!" & vbNewLine
End If
If Range("C35") = "" Then
Fehler4 = "- Bitte Feld 4 ausfüllen!" & vbNewLine
End If
If Range("B23") = "" Then
Fehler5 = "- Bitte Feld 5 ausfüllen!" & vbNewLine
End If
If Range("F10") = "" Then
Fehler6 = "- Bitte Feld 6 ausfüllen!" & vbNewLine
End If
If IsEmpty(Fehler1 & Fehler2 & Fehler3 & Fehler4 & Fehler5 & Fehler6) Then
ActiveSheet.PrintOut
Else
MsgBox Fehler1 & Fehler2 & Fehler3 & Fehler4 & Fehler5 & Fehler6 & _
"Trotzdem drucken?", vbYesNo, "Hinweis"
If MsgBox = vbYes Then
ActiveSheet.PrintOut
End If
End If
Viele Grüße,
Zwenn
Anzeige
AW: Mehrere If Abfragen , Eine MsgBox
05.07.2017 15:48:11
Matthias
Hallo
Dim Fehler As String 'Fehler
If Range("A3") = "" Then
Fehler = "- Bitte Feld 1 ausfüllen!"
End If
If Range("C10") = "" Then
Fehler = Fehler & vbLf & "- Bitte Feld 2 ausfüllen!"
End If
If Range("C34") = "" Then
Fehler = Fehler & vbLf & "- Bitte Feld 3 ausfüllen!"
End If
If Range("C35") = "" Then
Fehler = Fehler & vbLf & "- Bitte Feld 4 ausfüllen!"
End If
If Range("B23") = "" Then
Fehler = Fehler & vbLf & "- Bitte Feld 5 ausfüllen!"
End If
If Range("F10") = "" Then
Fehler = Fehler & vbLf & "- Bitte Feld 6 ausfüllen!"
End If
If IsEmpty(Fehler) Then
ActiveSheet.PrintOut
Else
If MsgBox(Fehler & vbLf & vbLf & "Trotzdem drucken?", vbYesNo, "Hinweis") = vbYes Then  _
ActiveSheet.PrintOut
End If
Gruß Matthias
Anzeige
AW: Mehrere If Abfragen , Eine MsgBox
05.07.2017 15:52:29
Max2
Hallo,
hier ein Code zum ausprobieren, deinen Fehler text habe ich geändert, den kannst du aber einfach wieder zurück ändern:
Sub WarnUser()
Dim part_1 As String, part_2 As String
Dim wholeError As String
Dim i As Integer
wholeError = ""
part_1 = "- Achtung Feld ": part_2 = " ist leer!" & vbNewLine
If Range("a3") = "" Then wholeError = wholeError & part_1 & 1 & part_2
If Range("c10") = "" Then wholeError = wholeError & part_1 & 2 & part_2
If Range("c34") = "" Then wholeError = wholeError & part_1 & 3 & part_2
If Range("c35") = "" Then wholeError = wholeError & part_1 & 4 & part_2
If Range("b23") = "" Then wholeError = wholeError & part_1 & 5 & part_2
If Range("f10") = "" Then wholeError = wholeError & part_1 & 6 & part_2
If wholeError  "" Then
i = MsgBox(wholeError & vbNewLine & _
"Trotzdem drucken?", _
vbYesNo, "ACHTUNG!")
If i = 6 Then ActiveSheet.PrintOut Else Exit Sub
Exit Sub
End If
ActiveSheet.PrintOut
End Sub

Anzeige
AW: Mehrere If Abfragen , Eine MsgBox
05.07.2017 15:55:25
Michael
Hallo!
Ich würd's so machen:
Sub a()
Const PRE$ = "Bitte Feld #"
Const SUF$ = " ausfüllen!"
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.ActiveSheet
Dim a, f$, i&
a = Array("A3", "C10", "C34", "C35", "B23", "F10")
For i = LBound(a) To UBound(a)
If Ws.Range(a(i)) = "" Then f = f & PRE & i + 1 & SUF & vbLf
Next i
If f  vbNullString Then
If MsgBox(f & "Trotzdem drucken?", vbYesNo, "Hinweis") = vbYes Then
Ws.PrintOut
End If
Else: Ws.PrintOut
End If
Set Wb = Nothing: Set Ws = Nothing: Erase a
End Sub
LG
Michael
Anzeige
AW: Mehrere If Abfragen , Eine MsgBox
05.07.2017 16:16:00
Thomas
Wow, das ist echt Wahnsinn, wie schnell man hier Hilfe bekommt.
Ich bedankte mich recht herzlich, bei den ganzen Antworten ist bestimmt die passende Lösung für mich dabei!!
VIELEN HERZLICHEN DANK
Thomas

261 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige