Dag allemaal,
in het Excel-hoofdstuk van dit forum heb ik een methode gevonden om in een validatielijst (dropdown) van een cel enkel de eerste letters te moeten invoeren om zo alleen die waarden te zien om uit te kiezen.
Dat werkte perfect met .xls, maar in eerste instantie niet met .xlsm. Ook dat werd hier opgelost, behalve dan de de Foutmelding van gegevensvalidatie moet worden uitgezet.
Dus kunnen nu alle waarden worden ingetikt zonder te kiezen uit het dropdownmenu.
Ik wou dit ondervangen met een foutafhandeling in VBA als volgt (ook gebaseerd op iets wat ik op dit forum heb gevonden):
en
Bij testen zet ik er vaak MsgBox-en tussen:
De MsgBox "ChkValST" gebruik ik als test of de code goed doorlopen wordt, maar geen van beide volgende verschijnt, noch "ChkValST NOK" als "ChkValST OK" (en ik verwacht er bij een test toch één van de twee).
lijst SETS!A2:A250 is het (aparte) werkblad en het bereik waarbinnen alle mogelijke validaties staan.
Groeten,
Marnik
in het Excel-hoofdstuk van dit forum heb ik een methode gevonden om in een validatielijst (dropdown) van een cel enkel de eerste letters te moeten invoeren om zo alleen die waarden te zien om uit te kiezen.
Dat werkte perfect met .xls, maar in eerste instantie niet met .xlsm. Ook dat werd hier opgelost, behalve dan de de Foutmelding van gegevensvalidatie moet worden uitgezet.
Dus kunnen nu alle waarden worden ingetikt zonder te kiezen uit het dropdownmenu.
Ik wou dit ondervangen met een foutafhandeling in VBA als volgt (ook gebaseerd op iets wat ik op dit forum heb gevonden):
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
ChkValST Target
End Sub
en
Code:
Public Sub ChkValST(ByVal Target As Excel.Range)
'controleert geldige invoer in kolom 3
On Error GoTo EndMacro
'bepalen of target valabel is
If Application.Intersect(Target, Range(Cells(2, 3), Cells(75, 3))) Is Nothing Then
Exit Sub
End If
If Target.Cells.Count > 1 Then
Exit Sub
End If
If Target.Value = "" Then
Exit Sub
End If
MsgBox "ChkValSt"
If Range("lijst SETS!A2:A250").Find(Target.Value) Is Nothing Then
MsgBox "ChkValSt NOK"
Else
MsgBox "ChkValSt OK"
End If
EndMacro:
End Sub
Bij testen zet ik er vaak MsgBox-en tussen:
De MsgBox "ChkValST" gebruik ik als test of de code goed doorlopen wordt, maar geen van beide volgende verschijnt, noch "ChkValST NOK" als "ChkValST OK" (en ik verwacht er bij een test toch één van de twee).
lijst SETS!A2:A250 is het (aparte) werkblad en het bereik waarbinnen alle mogelijke validaties staan.
Groeten,
Marnik