Guten Morgen zusammen,
ich möchte mittels VBA verhindern, dass doppelte Einträge möglich sind.
Meine Daten befinden sich in den zellen E8-E161.
Dazu habe ich folgende Lösungen gefunden.
- Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngLetzteZeileA As Long
Dim rngSuchBereich As Range
Dim BereichA As Range
If Target.Count > 1 Then Exit Sub
lngLetzteZeileA = IIf(IsEmpty(Range(„A65536“)), Range(„A65536“).End(xlUp).Row, 65536)
Set BereichA = Range(„A1:A“ & lngLetzteZeileA - 1)
Set rngSuchBereich = BereichA.Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngSuchBereich Is Nothing Then
MsgBox "Wert bereits vorhanden in Spalte A Zeile " & rngSuchBereich.Row
Target.ClearContents
Exit Sub
End If
Set rngSuchBereich = Nothing
Set BereichA = Nothing
End Sub
- Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngLetzteSpalteAOB As Long
Dim rngSuchBereich As Range
Dim Bereich5 As Range
If Target.Count > 1 Then Exit Sub
lngLetzteSpalteAOB = Range(„AOB5“).End(xlToLeft).Column
Set Bereich5 = Range(„K5“, Cells(5, lngLetzteSpalteAOB - 1))
Set rngSuchBereich = Bereich5.Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngSuchBereich Is Nothing Then
MsgBox "Wert bereits vorhanden in Zeile 5 Spalte " & rngSuchBereich.Column
Target.ClearContents
Exit Sub
End If
Set rngSuchBereich = Nothing
Set Bereich5 = Nothing
End Sub
Leider funktioniert keiner der beiden Codes bei mir. Der Fehler stellt sich so dar,dass ich nicht mehr weiterarbeiten kann.
Ich habe sowohl die Origina-Codes als auch den für meine Spalte E angepassten Code probiert.
Wo liegt hier der Fehler?
Lg Frank

