• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Lege cellen aangeven middels VBA code

Status
Niet open voor verdere reacties.

allard1

Gebruiker
Lid geworden
5 dec 2006
Berichten
314
Excellerts,

Ik heb een vraag. Stel ik heb een formulier of werkblad waarin verplicht een aantal zaken gevuld moeten zijn alvorens er wordt opgeslagen. De code mbt opslaan en zaken dat werkt allemaal fantastisch, maar ik zit wat te fröbelen met de code voor het checken van de cellen. Vereenvoudigt ziet het er alsvolgt uit (ik kan helaas geen bestanden uploaden). Gegevenscheck
Code:
Private Sub Test_Click()
Dim Test1
Set Test1 = Range("b1")
Dim Test2
Set Test2 = Range("b2")
If Test1.Value = "" Then
If Test2.Value = "" Then
MsgBox "Let op 1 !"
MsgBox "Let op 2 !"
Else
Call Opslaan
End If
End If
End Sub
Hij werkt bij de eerste cel maar als ik deze vul checked hij niet de tweede cel. Wat doe ik fout...Ik heb het vermoeden dat het iets fundamenteels is in de volgorde, maar ik zie ut niet.
Alvast bedankt
Groet,
Allard
 
Als je dit nu eens netjes uitlijn, dan zie je de fout:
Private Sub Test_Click()
Dim Test1
Set Test1 = Range("b1")
Dim Test2
Set Test2 = Range("b2")
If Test1.Value = "" Then
If Test2.Value = "" Then
MsgBox "Let op 1 !"
MsgBox "Let op 2 !"​
Else
Call Opslaan​
End If​
End If
End Sub
Nu zie je dat het tweede if-statement binnen de eerste valt.
 
Ik dacht al dat het iets fundamenteels was. Overigens, normaliter zorg ik wel voor een betere opmaak :). Helaas voor dit voorbeeld was ik niet zo netjes met excuses.

Voor de liefhebbers. De volgende code heb ik gemaakt.
Code:
Private Sub Test_Click()
Dim Test1
Set Test1 = Range("b1")
Dim Test2
Set Test2 = Range("b2")
If Test1.Value = "" Then
MsgBox "Let op 1 !"
Exit Sub
End If

    If Test2.Value = "" Then
    MsgBox "Let op 2 !"
    Exit Sub
    End If

Call Het_Werkt
End Sub

En de code voor het werkt:
Code:
Private Sub Het_Werkt()
MsgBox "Het is tijd voor een feestje", vbInformation, "Feest!"
End Sub

Bedankt :) voor de hulp
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan