Ongeldig null verwijzing

Status
Niet open voor verdere reacties.

BW1953

Gebruiker
Lid geworden
8 jun 2015
Berichten
10
Hallo,

Ik heb een keuzevak met daarin tekst.

Bij het volgende, als er tekst in het vak staat:
Code:
if keuzevak0<> "" then
'opdracht
end if
Code:
werkt het prima

Als er geen tekst staat en ik type
Code:
if keuzevak0="" then
'opdracht
end if[CODE] 
krijg ik een melding van null

Wat zie ik over het hoofd of moet dit op een andere manier.

Alvast bedankt
 
Probeer dit eens:
Code:
If keuzevak0 & "" <> "" Then
     'opdracht
End If
 
Het werkt dank u wel

Als tekstvak leeg is gebruik ik & "" = ""
en anders dus & "" <> ""
werkt prima
 
Mag je de vraag nog op <Opgelost> zetten. Dat doe je met een linkje in de blauwe menubalk bovenin.
 
Je kunt ook de vba functie IsNull gebruiken. En het is een goed gebruik om vbNullstring te gebruiken ipv ""

Voor als je het wilt begrijpen: er is een verschil tussen een empty string, een null string en Null:
Code:
Sub test()

    Dim EmptyVar As Variant
    Dim NullStringVar As Variant
    Dim NullVar As Variant
    Dim NoVar As Variant
    
    EmptyVar = ""
    NullStringVar = vbNullString
    NullVar = Null
    ' NoVar is not initialized
    
    Debug.Print "|"; EmptyVar; "|"          ' ||
    Debug.Print "|"; NullStringVar; "|"     ' ||
    Debug.Print "|"; NullVar; "|"           ' |Null|
    Debug.Print "|"; NoVar; "|"             ' ||
    
    Debug.Print IsNull(EmptyVar)            ' False
    Debug.Print IsNull(NullStringVar)       ' False
    Debug.Print IsNull(NullVar)             ' True
    Debug.Print IsNull(NoVar)               ' False
    
    Debug.Print IsEmpty(EmptyVar)           ' False
    Debug.Print IsEmpty(NullStringVar)      ' False
    Debug.Print IsEmpty(NullVar)            ' False
    Debug.Print IsEmpty(NoVar)              ' True
    
    Debug.Print Len(EmptyVar)               ' 0
    Debug.Print Len(NullStringVar)          ' 0
    Debug.Print Len(NullVar)                ' Null
    Debug.Print Len(NoVar)                  ' 0
    
    Debug.Print StrPtr(EmptyVar)            ' ptr > 0
    Debug.Print StrPtr(NullStringVar)       ' ptr = 0
    Debug.Print StrPtr(NoVar)               ' ptr > 0
    'Debug.Print StrPtr(NullVar)             ' run time error
    
End Sub
 
Ik denk dat dit ook wel werkt:

Code:
    If ListBox1.ListIndex = -1 Then x = 12
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan