Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

checkCells

checkCells
26.10.2022 16:48:37
Martin
Hallo
Bitte um eure Hilfe. Ich möchte diese drei angeführten Zellen auf Inhalt überprüfen. Ich möchte aber für jede Zelle einen spezifischen Text anzeigen lassen.Z.B: Anstatt $L$8 den Text "Keine Datum eingetragen". usw...
Wie muß ich den Code dafür ändern? Bitte um Hilfe. Danke. Lg Martin

Sub checkCells()
Dim chkRange As Range, myC As Range
Dim msg As String
Set chkRange = Range("H8,L8,L9")
msg = ""
For Each myC In chkRange
If IsEmpty(myC) Then
msg = msg & myC.Address & vbCrLf
End If
Next
If msg = "" Then
MsgBox "Alle Zellen gefüllt", vbInformation + vbOKOnly, "Prüfergebnis"
Else
MsgBox "Folgende Zellen sind leer:" & vbCrLf & msg, vbInformation + vbOKOnly, "Prüfergebnis"
End If
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: checkCells
26.10.2022 17:55:04
ralf_b
meinst du das so?

Sub checkCells()
Dim chkRange As Range, myC As Range
Dim msg    As String
Set chkRange = Range("H8,L8,L9")
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
dict("H8") = "eine Message"
dict("L8") = "andere Message"
dict("L9") = "weitere Message"
msg = ""
For Each myC In chkRange
If IsEmpty(myC) Then
msg = msg & dict.Item(myC.Address(0, 0)) & vbCrLf
End If
Next
If msg = "" Then
MsgBox "Alle Zellen gefüllt", vbInformation + vbOKOnly, "Prüfergebnis"
Else
MsgBox "Folgende Zellen sind leer:" & vbCrLf & msg, vbInformation + vbOKOnly, "Prüfergebnis"
End If
End Sub

Anzeige
AW: checkCells
29.10.2022 08:21:41
Martin
Danke, ralf_p. Genau so.
AW: checkCells
26.10.2022 18:40:55
Daniel
HI
per schleife so:

Sub test()
Dim Zellen
Dim Meldung
Dim msg As String
Dim i As Long
Zellen = Array("H8", "L8", "L9")
Meldung = Array("Meldung für H8", "Meldung für L8", "Meldung für L9")
For i = 0 To UBound(Zellen)
If Range(Zellen(i)).Value = "" Then
msg = msg & vbLf & Zellen(i) & ": " & Meldung(i)
End If
Next
If msg = "" Then
MsgBox "alles gefüllt"
Else
MsgBox "folgende Zellen müssen noch gefüllt werden:" & msg
End If
End Sub
du musst halt darauf achten, dass die Arrays passend zueinander befüllt werden.
ansonsten spricht hier nichts dagegen, dass für jede Zellen einzeln zu programmieren. bei mehreren Zellen wahrscheinlich sogar übersichtlicher als die Schleife mit dem Array.

if Range("H8").value = "" then msg = msg & vblf & "Meldung für H8"
if Range("L8").value = "" then msg = msg & vblf & "Meldung für L8"
if Range("L9").value = "" then msg = msg & vblf & "Meldung für L9"
Gruß Daniel
Anzeige
AW: checkCells
29.10.2022 08:23:29
Martin
Danke Daniel, habe es so wie ralf_p beschrieben gemacht.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige