Op deze zeer warme avond, allen hallo.
Ik heb onderstaande code gisteren al eerder geplaatst. Na testen kom ik toch een probleempje tegen in de ELSE. Het heeft er alle schijn van dat de IF in deze niet wordt gezien.
De vergelijking dient ervoor om te zorgen dat de code in de ELSE slechts gaat lopen zodra de lengte van de waarde kleiner is dan 2. Echter als ik bijvoorbeeld "12" invoer dan volgt de ELSE alsnog. Dit terwijl de lengte van de waarde toch groter is dan 1.
Waarom gebeurd dit? Waar ligt de fout en hoe los ik dit op?
De TextBoxen hebben de volgende veranderde eigenschappen:
AutoTab = True
MaxLength = 2
Value = (Leeg)
Text =(Leeg)
Ik heb onderstaande code gisteren al eerder geplaatst. Na testen kom ik toch een probleempje tegen in de ELSE. Het heeft er alle schijn van dat de IF in deze niet wordt gezien.
De vergelijking dient ervoor om te zorgen dat de code in de ELSE slechts gaat lopen zodra de lengte van de waarde kleiner is dan 2. Echter als ik bijvoorbeeld "12" invoer dan volgt de ELSE alsnog. Dit terwijl de lengte van de waarde toch groter is dan 1.
Waarom gebeurd dit? Waar ligt de fout en hoe los ik dit op?
De TextBoxen hebben de volgende veranderde eigenschappen:
AutoTab = True
MaxLength = 2
Value = (Leeg)
Text =(Leeg)
Code:
Private Sub ControleDatum(Optional ByVal Cancel As MSForms.ReturnBoolean)
Dim MaxValue As Long
With Me.Frame4.ActiveControl
i = Replace(.Name, "TextBox", "")
If i = 1 Then MaxValue = 31
If i = 2 Then MaxValue = 12
If i = 3 Then MaxValue = 9999
If .Value <> vbNullString And .Value > MaxValue Then
.Value = vbNullString
Cancel = True
Else
If i = 1 Or i = 2 And .SelLength < 2 Or i = 3 And .SelLength < 4 Then
.AutoTab = False
MsgBox .AutoTab 'Geplaatst om te controleren of de code doorloopt.
If i = 1 Or i = 2 Then .Value = Format(.Value, "00")
If i = 3 Then .Value = Format(.Value, "0000")
.AutoTab = True
End If
End If
End With
End Sub
Laatst bewerkt: