Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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 Zellen auf Inhalt prüfen

Mehrere Zellen auf Inhalt prüfen
25.01.2021 08:39:16
Daniel
Hallo Zusammen,
ich stehe vor einem "kleinen" Problem und würde mich freuen, wenn mir von euch jemand auf die Sprünge helfen kann.
Ich habe eine Arbeitsblatt, in welches Daten eingetragen werden sollen. Bevor nun diese Blatt (per VBA Button) gedruckt oder als PDF gespeichert werden kann sollen verschiedene Zellen überprüft werden, ob Diese Werte enthalten.
Eine if / else Verschachtelung wäre möglich, wird aber wahnsinnig unübersichtlich, da es sich um 20 Zellen handelt, die "verstreut" sind.
Hiermit habe ich mir ein wenig geholfen

Sub Pflichtfeldprüfung()
Dim Zelle As Range
For Each Zelle In Range("E2, E4, C6, B9, M5, K9")
If IsEmpty(Zelle) Then MsgBox "Sie haben nicht alle Daten ausgefüllt."
Next Zelle
End Sub
Jetzt suche ich aber nach einer Möglichkeit, mir anzeigen zu lassen, welche Zellen noch nicht befüllt sind.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Zellen auf Inhalt prüfen
25.01.2021 09:15:02
Yal
Hallo daniel,
Sub Pflichtfeldprüfung()
Dim Zelle As Range
Dim msg As String
For Each Zelle In Range("E2, E4, C6, B9, M5, K9")
If IsEmpty(Zelle) Then msg = msg & ", " & Zelle.Address(False, False)
Next Zelle
msg = Trim(Mid(msg, 2))
If msg  "" Then MsgBox "Sie haben folgenden Information nicht ausgefüllt:" & vbCr & vbCr & _
msg
End Sub
VG
Yal
AW: Mehrere Zellen auf Inhalt prüfen
25.01.2021 09:21:22
Daniel
Hallo Yal,
vielen Dank, das hilft mir super weiter.
Ich denke, dass ich das nun noch mit einem Case erweitern kann um nicht nur die Zellnamen angezeigt zu bekommen, sondern auch einen Text festlegen kann.
Anzeige
AW: Mehrere Zellen auf Inhalt prüfen
25.01.2021 09:22:37
volti
Hallo,
meinst Du so etwas hier:
Code:

[Cc]

Sub Pflichtfeldprüfung() Dim Zelle As Range, sWerte As String For Each Zelle In Range("E2, E4, C6, B9, M5, K9") If IsEmpty(Zelle) Then sWerte = sWerte & Zelle.Address(0, 0) & ", " Next Zelle If sWerte <> "" Then sWert = Left$(sWerte, Len(sWerte) - 2) MsgBox "Folgende Felder wurden noch nicht ausgefüllt." & vbCr & sWerte, vbCritical End If End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Mehrere Zellen auf Inhalt prüfen
25.01.2021 11:12:05
Daniel
Ich versuche gerade die Lösung von Karl-Heinz noch ein wenig zu "verbessern";
und zwar würde ich gerne anstatt der Range E2, E4 etc. jeweils einen Text anzeigen lassen.
Folgende Felder wurden noch nicht ausgefüllt : xyz, abc usw.
Ich habe das mit einem Select Case versucht, bekomme aber immer nur die erste Meldung in die MsgBox.
Alle anderen werden, auch wenn sie tatsächlich gültig sind, ignoriert.
Hat hier vielleicht noch jemand einen Gedankenanstoß für mich bitte.
AW: Mehrere Zellen auf Inhalt prüfen
25.01.2021 11:50:39
hary
Moin
Meinat du so?
Sub Pflichtfeldprüfung()
Dim Zelle As Range, sWerte As String, strText As String
For Each Zelle In Range("E2, E4, C6, B9, M5, K9")
If IsEmpty(Zelle) Then
Select Case Zelle.Address(False, False)
Case "E2": strText = "hallo"
Case "E4": strText = "wach"
'---usw
End Select
sWerte = sWerte & strText & ", "
End If
Next Zelle
If sWerte  "" Then
sWerte = Left$(sWerte, Len(sWerte) - 2)
MsgBox "Folgende Felder wurden noch nicht ausgefüllt." & vbCr & sWerte, vbCritical
End If
End Sub

gruss hary
Anzeige
AW: Mehrere Zellen auf Inhalt prüfen
25.01.2021 12:01:55
Daniel
Hallo Harry,
vielen Dank;
genau so wollte ich es ; und so hatte ich auch die Case ... allerdings hatte ich an der falschen Stelle eingebaut, weswegen es vermutlich nicht funktioniert hat.
Ich hatte meinen Case vor der MsgBox.
Vielen lieben Dank für die Hilfe
AW: Mehrere Zellen auf Inhalt prüfen
25.01.2021 10:23:48
Daniel
Hi
Probiers mal so:
1. markiere die Zellen mit STRG und weise ihnen einen Namen zu (verwende Namensmanager oder Namensfeld)
2. dann reicht dieser Code, wenn du nicht die leeren Felder auflisten willst:
If WorksheetFunction.CountA(Range("DeinName")) 
Die leeren Pflichtfelder würde ich per bedingter Formatierung hervorheben.
Gruß Daniel
Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige