Ich möchte nun per VBA prüfen, ob es eine Kartennummer gibt, die mehrfach für unterschiedliche Personalnummern vorkommt.
Bisher habe ich nur einen Code zustande gekriegt, der doppelte Kartennummern auflistet, wenn auch die Personalnummer gleich ist.
Sub Check
Dim Kartennummern As Range, PersNr As Range
Dim Zelle As Range
lz = Sheets("Gesamt").Cells(65536, 4).End(xlUp).Row
Set Kartennummern = Range("E7:E" & lz)
Set PersNr = Range("D7:D" & lz)
For Each Zelle In Kartennummern
If WorksheetFunction.CountIfs(Kartennummern, Zelle.Value, PersNr, Zelle.Offset(0, -1)) > 1 Then
MsgBox "Die Kartennummer " & Zelle.Value & " ist mehrfach an die gleiche Person vergeben"
'stattdessen gewollt: Die Kartennummer ist mehr als einer Person zugeordnet
End If
Next Zelle
End Sub
Die einzige Lösung, die mir einfällt, wäre erstmal die Tabelle nach Kartennummer und dann nach Personalnummer zu sortieren, und dann Zeile für Zeile durchzugehen, ob die Kartennummer die gleiche wie in der Zeile darüber ist, und wenn ja, ob dann die Personalnummer unterschiedlich ist. Das geht aber doch bestimmt einfacher...