Onderstaande code wordt gestart na Worksheet_Change en zet de ingevoerde waarde in een cel van E3:E76 om in hoofdletters.
Dat werkt prima, behalve wanneer ik in die cellen gegevensvalidatie zet. Lijst met mogelijke waarden zijn D1, D2, D3, D4, D5, D6, D7, D8, D9, N1, N2, N3, N4, N5, N6, N7, N8 en N9.
Nu wou ik met die code ook invoer zonder hoofdletters (d1, d2, ..., n9) mogelijk maken. Alleen wordt eerst de validatie gecontroleerd en gestopt bij een foute invoer, vooraleer Worksheet_Change wordt uitgevoerd.
Is dit te verhelpen zonder de lijst uit te bereiden met de kleine-letters-invoer en zonder de stoppen bij fout op te geven?
Dat werkt prima, behalve wanneer ik in die cellen gegevensvalidatie zet. Lijst met mogelijke waarden zijn D1, D2, D3, D4, D5, D6, D7, D8, D9, N1, N2, N3, N4, N5, N6, N7, N8 en N9.
Nu wou ik met die code ook invoer zonder hoofdletters (d1, d2, ..., n9) mogelijk maken. Alleen wordt eerst de validatie gecontroleerd en gestopt bij een foute invoer, vooraleer Worksheet_Change wordt uitgevoerd.
Is dit te verhelpen zonder de lijst uit te bereiden met de kleine-letters-invoer en zonder de stoppen bij fout op te geven?
Code:
Sub ChkValDNBasis(ByVal Target As Excel.Range)
'zet waarden om in hoofdletters in kolom E (D/N)
'bepalen of target valabel is
If Not Target.Column = 5 Then
Exit Sub
End If
If Target.Row < 3 Or Target.Row > 76 Then
Exit Sub
End If
If Target.Cells.Count > 1 Then
Exit Sub
End If
If Target.Value = "" Then
Exit Sub
End If
Application.EnableEvents = False
Target.Value = UCase(Target.Value)
Application.EnableEvents = True
End Sub