Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
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 bei leeren Zellen

MsgBox bei leeren Zellen
19.03.2018 08:31:13
Helmut
Guten Morgen liebes Forum
Schon ist das Wochenende vorbei, liegt schon wieder ein Problem vor.
Ich habe 2 Bereiche wie folgt: F8:F12 & H8:H12, weiteres habe ich noch einige Zellen (E12,G13,E14,E15,E16,E18)
Nun ist es so das in einen von den 2 Bereichen (F8:F12 & H8:H12) ein "X" stehen muss und die anderen Zellen die ich oben angeführt habe müssen jeweils einen Inhalt haben, ansonsten bräuchte ich eine MsgBox.
Hat hier jemand eine Lösung parat?
Jetzt schon recht herzlichen Dank für eure Mithilfe LG Helmut

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox bei leeren Zellen
19.03.2018 08:43:49
Burak
Guten Morgen,
das ist nicht der kürzeste oder sinnvollste Code, aber sollte funktionieren und dir einen Ansatz geben, den du nach Wünschen anpassen kannst.
Sub leereZellen
Dim inhalt As String, i As Long
inhalt = "Leere Zellen: "
for i = 8 to 12
If Range("F" & i).Value  "X" Then inhalt = inhalt & "F" & i & " "
If Range("H" & i).Value  "X" Then inhalt = inhalt & "H" & i & " "
Next i
If Range("E12").Value = "" Then inhalt = inhalt & "E12 "
If Range("G13").Value = "" Then inhalt = inhalt & "G13 "
for i = 14 to 18
If Range("E" & i).Value  "X" Then inhalt = inhalt & "E" & i & " "
Next i
MsgBox(inhalt)
End Sub
Freundliche Grüße
Anzeige
kleiner Tippfehler
19.03.2018 08:47:25
Burak

Sub leereZellen
Dim inhalt As String, i As Long
inhalt = "Leere Zellen: "
for i = 8 to 12
If Range("F" & i).Value  "X" Then inhalt = inhalt & "F" & i & " "
If Range("H" & i).Value  "X" Then inhalt = inhalt & "H" & i & " "
Next i
If Range("E12").Value = "" Then inhalt = inhalt & "E12 "
If Range("G13").Value = "" Then inhalt = inhalt & "G13 "
for i = 14 to 18
If Range("E" & i).Value = "" Then inhalt = inhalt & "E" & i & " "
Next i
MsgBox(inhalt)
End Sub
So sollte es stimmen
AW: MsgBox bei leeren Zellen
19.03.2018 09:51:09
Werner
Hallo Helmut,
jetzt stellt sich nur noch die Frage, wann die Meldung angezeigt werden soll?
-bei Eingabe eines Wertes in eine bestimmte Zelle?
-beim Verlassen des Blattes?
-beim Speichern der Datei?
oder... oder...
Gruß Werner
Anzeige
AW: MsgBox bei leeren Zellen
19.03.2018 10:06:55
Helmut
Guten Morgen Burak, guten Morgen Werner
danke für deine Fragestellung an dich Werner, denn hier dürfte wirklich ein Problem vorliegen. _ Mit einem Button löse ich folgendes Makro aus:

Private Sub CommandButton1_Click()
Call LeereFinden
Call Drucken
End Sub

vor Call LeereFinden würde ich jedoch gerne das Makro von Burak einbauen.
Auch möchte ich hier noch einmal ganz genau mein Vorhaben erklären: ich habe 2 Bereiche wo in einem der beiden Bereiche mindestens ein "X" stehen muss.
Die anderen Zellen die ich vorhin schon angegeben habe, dürfen nicht leer bleiben.
Sollte es nun so sein, dass in einem der 2 Bereiche kein „X" steht oder das einer der vordefinierten Zellen leer bleibt, soll eine msgBox kommen.
Vielleicht könnt ihr mir noch einmal behilflich sein.
Besten Dank, LG Helmut
Anzeige
Da ich jetzt auch schon was habe...
19.03.2018 10:20:24
Werner
Hallo Helmut,
...meines auch noch:
Private Sub CommandButton1_Click()
With Worksheets("Tabelle1") 'Blattname anpassen
If WorksheetFunction.CountIf(.Range("F8:F12"), UCase("x")) = 0 _
And WorksheetFunction.CountIf(.Range("H8:H12"), UCase("x")) = 0 Then
MsgBox "Markierung im Bereich:" & vbLf & vbLf & _
"F8 bis F12 bzw. H8 bis H12" & vbLf & vbLf & "fehlt."
Exit Sub
ElseIf WorksheetFunction.CountBlank(.Range("E14:E16")) + _
WorksheetFunction.CountBlank(.Range("E12")) + _
WorksheetFunction.CountBlank(.Range("E18")) + _
WorksheetFunction.CountBlank(.Range("G13"))  0 Then
MsgBox "Die Zellen:" & vbLf & vbLf & "E14 bis E16, E12, E18, G13" _
& vbLf & vbLf & "sind nicht vollständig ausgefüllt."
Exit Sub
End If
End With
Call LeereFinden
Call Drucken
End Sub
Gruß Werner
Anzeige
Alles bestens
19.03.2018 10:29:54
Helmut
Servus Werner
funktioniert genau nach meinen Bedürfnissen! Vielen herzlichen Dank für deine Leistung am Montagvormittag.
Auch bei UweD möchte ich mich für seinen Vorschlag bedanken.
Ich wünsche euch hiermit noch eine schöne und hoffentlich stressfreie Woche.
LG Helmut
Gerne u. Danke für die Rückmeldung. o.w.T.
19.03.2018 11:54:45
Werner
AW: MsgBox bei leeren Zellen
19.03.2018 10:15:44
UweD
Hallo
also:
in einem Bereich mind 1x und der jeweisls andere Bereich leer
und zusätzlich im 3. Bereich alle gefüllt
dann so....
Sub leer()
    Dim RNG1 As Range, RNG2 As Range, RNG3 As Range
    Dim ANZ1 As Integer, ANZ2 As Integer, ANZ3 As Integer
    Dim WF
    Set WF = WorksheetFunction
    With Sheets("Tabelle1")
        Set RNG1 = .Range("F8:F12")
        Set RNG2 = .Range("H8:H12")
        Set RNG3 = .Range("E12, G13, E14:E16, E18")
        ANZ1 = RNG1.Count
        ANZ2 = RNG2.Count
        ANZ3 = RNG3.Count
        If Not (((WF.CountIf(RNG1, "X") > 0 And WF.CountIf(RNG2, "") = ANZ2) Or _
                 (WF.CountIf(RNG2, "X") > 0 And WF.CountIf(RNG1, "") = ANZ1)) And _
                  WF.CountA(RNG3) = ANZ3) Then
            MsgBox "Werteingabe fehlerhaft!"
            Exit Sub
        End If
        
        'Weiter mit deinen sonstigen Code 
    
    End With
            
End Sub

LG UweD
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige