AW: Zellen überprüfen
12.10.2007 02:18:32
fcs
Hallo Bernd,
prinzipiell kann man das mit einem Ereignismakro lösen, dass Wertänderungen durch Eingaben Zellen erkennt. Mir ist allerding noch unklar wie der Wertebereich mit den Vergleichswerten "wächst".
Im folgenden Makro werden die Eingaben geprüft, die in Spalte A unterhalb der letzten ausgefüllten Zelle in Spalte B erfolgen. Sobald in Spalte B weitere Werte eingetragen werden "wächst" der Prüfbereich.
Das Makro wurde mit Excel97 erstellt und dürfte auch in den neueren Versionen problemlos funktionieren.
Einfügen muss du den Code im VBA-Editor unter der Tabelle in der die Werteprüfungen stattfinden sollen.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Die letzte ausgefüllte Zeile in Spalte B bestimmt den Prüfbereich
Dim Pruefbereich As Range, Zelle As Range, wks As Worksheet
Set wks = Me
With wks
If Target.Row > .Cells(.Rows.Count, 2).End(xlUp).Row And Target.Column = 1 Then
Set Pruefbereich = .Range(.Cells(2, 1), .Cells(.Rows.Count, 2).End(xlUp))
Set Zelle = Pruefbereich.Find(what:=Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
'Eintrag nicht gefunden, was tun?
Else
MsgBox "Der Eintrag " & Target.Value & " ist schon vorhanden in Zelle " & Zelle.Address
Target.ClearContents 'unzulässigen Eingabewert wieder löschen
End If
Set Zelle = Nothing: Set Pruefbereich = Nothing: Set wks = Nothing
End If
End With
End Sub