Gültigkeitsregel in Code einfügen
06.07.2007 16:11:00
Ralph
der folgende Code funktioniert zwar prima - hat jedoch nur den Haken, dass ich nicht weiss, wie ich eine eigene benutzerdefenierte Gültigkeit einfüge. Ich würde gerne folgende Formel unterbringen: =zählenwenn($A:$A;A1)=1
Mit dieser Formel könnte man dann keine doppelten Einträge mehr eingeben - die Formel in dem Code sieht leider nur eine Zahlenbegrenzung vor.
Für jede Hilfe wäre ich echt dankbar.
In diesem Sinne
Gruß
Ralph
Private Sub Worksheet_Change(ByVal Target As Range)
' Bereich festlegen
If Intersect(Target, Range("A1:B5")) Is Nothing _
Or Target.Count > 1 Then
Exit Sub
End If
On Error GoTo Errorhandler
' Wenn bereits eine Gültigkeit vorhanden ist,
' dann die Prozedur verlassen
If Target.Validation.Type >= 0 Then
Exit Sub
End If
Errorhandler:
With Target
' Prüfen, ob der eingegebene Wert im gültigen Bereich liegt
If .Value 50 Then
MsgBox "Sie haben nicht einen Wert " & _
"zwischen 1 und 50 eingegeben.", _
Title:="Falsche Eingabe"
' Bei ungültiger Eingabe, Zellinhalt löschen und
' Zelle wieder aktivieren
Application.EnableEvents = False
.ClearContents
.Activate
Application.EnableEvents = True
End If
' Gültigkeit erstellen
With .Validation
.Delete
.Add _
Type:=xlValidateWholeNumber, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="1", _
Formula2:="50"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "Zugelassen"
.InputMessage = "Zugelassener Wert: 1 bis 50."
.ShowInput = True
.ErrorTitle = "Falsche Eingabe"
.ErrorMessage = "Sie haben nicht einen Wert " & _
"zwischen 1 und 50 eingegeben."
.ShowError = True
End With
End With
End Sub