meerdere losse cellen (dus geen bereik) controleren op inhoud

Status
Niet open voor verdere reacties.

wtktje

Gebruiker
Lid geworden
7 mrt 2012
Berichten
29
LS,

Is er in VBA een snellere of kortere manier om in excel een aantal losstaande cellen (dus niet naast en/of onder elkaar in een bereik) te controleren op inhoud?

Ik heb nu dit:

Code:
If Range("c2") <> "" And Range("i2") <> "" And Range("b5") <> "" And Range("c5") <> "" And Range("d5") <> "" And Range("e5") <> "" _   
And Range("f5") <> "" And Range("g5") <> "" And Range("h5") <> "" And Range("i5") <> "" And Range("b8") <> "" And Range("c8") <> "" _
And Range("d8") <> "" And Range("f8") <> "" And Range("h8") <> "" And Range("b13") <> "" And Range("c13") <> "" And Range("d13") <> "" _
And Range("e13") <> "" And Range("f13") <> "" And Range("b15") <> "" Then

'doe je ding

else

msgbox "vul alle cellen in"

end if

Het voorbeeld bestandje heeft slechts 4 cellen, maar bij mij gaat het om 20 cellen.

Bedankt alvast voor het meedenken.

EDIT: Ik had zelf al gedacht in de richting van al de cellen dezelfde naam te geven (in dit geval de naam "Invullen") maar dat werkt helaas ook niet.

Code:
If Range("invullen") <> "" Then
 

Bijlagen

Laatst bewerkt:
Voor wat inspiratie

Code:
MsgBox Application.CountA(Range("C3,C8,D6,E4"))
 
Hebben die cellen in je originele document ook een afwijkende achtergrond kleur?
Code:
Sub Knop1_Klikken()
    Geel = 65535
    For Each cl In Range("C3:E8")
        If cl.Interior.Color = Geel And cl.Value = "" Then
            MsgBox "alle vier de geel gekleurde cellen invullen", vbCritical
            Exit Sub
        End If
    Next cl
End Sub
 
Laatst bewerkt:
Hebben die cellen in je originele document ook een afwijkende achtergrond kleur?

Klopt inderdaad. de cellen zijn geel en als er iets ingevuld wordt verandert deze naar wit. Zo is in 1 oogopslag te zien of er nog gegevens mist. Ik ga jouw oplossing eens nader bestuderen, want dit lijkt me wel een mooie oplossing. Bedankt
 
Voor wat inspiratie

Code:
MsgBox Application.CountA(Range("C3,C8,D6,E4"))

Ook een mooie oplossing, en nog korter inderdaad. Gewoon in een bereik van losse cellen het aantal ingevulde cellen optellen. Wanneer dat gelijk is aan het aantal te controleren cellen, dan is aan de voorwaarde voldaan. Bedankt.

Genoeg oplossingen zo. Dit mag als opgelost worden beschouwd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan