mehrere zellen in zeile vergleichen
08.05.2022 11:13:43
JoJa
ich hänge an einem Problem fest und finde keine Lösung. Vielleicht könnte ihr mir helfen.
Ich habe mehrere Spalten mit Werten wie Datum, Name, Uhrzeit, Personalnummer, Honorar, etc. Meine Idee: Wenn ich eine neue Zeile eingebe und die ersten drei Werte (Datum, Name, Uhrzeit) bereits in irgendeiner Zeile darüber in genau dieser Reihenfolge vorkommen, dann gib eine Meldung: Eintrag gibt es schon. D.h. es geht um die Vermeidung doppelter Eintragungen.
Bisher habe ich nur eine Idee: Für jede Zeile jede Zelle in der Reihenfolge prüfen. Das ist aber sehr klobig und das muss doch einfacher gehen, denke ich mir. Geht das einfacher? Hier meint Code bisher:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim wb As Workbook: Set wb = ActiveWorkbook
Dim ws As Worksheet: Set ws = wb.ActiveSheet
Dim lrow As Integer
lrow = ws.Cells(Rows.Count, 1).End(xlUp).Row
Dim frow As Integer
frow = lrow - 1
Dim i As Integer
'lässt sich der folgende Komplex vereinfachen?
For i = 2 To frow
If ws.Cells(i, 1).Value = ws.Cells(lrow, 1) Then
If ws.Cells(i, 2).Value = ws.Cells(lrow, 2) Then
If ws.Cells(i, 3).Value = ws.Cells(lrow, 3) Then
MsgBox "Gibt es bereits in Zeile: " & i
ws.Cells(lrow, 1).Value = Empty
ws.Cells(lrow, 2).Value = Empty
ws.Cells(lrow, 3).Value = Empty
ws.Cells(i, 1).Select
GoTo weiter
End If
End If
End If
Next i
weiter:
'weiterer Code...
End Sub
Freue mich über AnregungenJohannes
Anzeige