Habe ein funktionierendes Makro - siehe unten - dass nur Kürzel aus zwei Listen zulässt. Suche nun schon seit Stunden mit meinen bescheidenen VB-Kenntnissen ergebnislos nach einer Lösung.
1. Was mich daran stört, ist das bei der .select-Methode, nach Ablauf des Makros der Bereich aus der zweiten Hälfte des Makros immer noch markiert ist.
Geht das auch ohne .select, so dass idealerweise die letzte bearbeitete Zelle aktiv bleibt?
Habe gelesen, dass select fast nie notwendig wäre - aber wie geht's?
2. Wie integriere ich in das gleiche Makro, dass auch gültige manuelle Einträge in Zellen dieses Bereiches automatisch sofort nach Eingabe mit der Funtion UCase in Großbuchstaben umgewandelt werden?
Viele liebe Grüße an alle Helfer des Forums. Und schon mal ein dickes Dankeschön!
Sub Gueltigkeit()
Range( _
"H8:AL8,H10:AL10,H12:AL12,H14:AL14,H16:AL16,H18:AL18,H20:AL20,H22:AL22,H24:AL24,H26:AL26, _
H28:AL28,H30:AL30,H32:AL32" _
).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=KürzelfürDienste"
.IgnoreBlank = True
.InCellDropdown = True
.ErrorTitle = "falsches Kürzel!"
.ErrorMessage = _
"Bitte nur Werte aus der Liste Daten benutzen oder Pulldownmenü verwenden"
.ShowError = True
End With
Range( _
"H9:AL9,H11:AL11,H13:AL13,H15:AL15,H17:AL17,H19:AL19,H21:AL21,H23:AL23,H25:AL25,H27: _
AL27,H29:AL29,H31:AL31,H33:AL33" _
).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=KürzelfürAusfälle"
.IgnoreBlank = True
.InCellDropdown = True
.ErrorTitle = "falsches Kürzel!"
.ErrorMessage = _
"Bitte nur Werte aus der Liste Daten benutzen oder Pulldownmenü verwenden"
.ShowError = True
End With
End Sub