Überprüfen Sie, ob eine Kombination von Zellen in einer Zeile in Excel eindeutig ist

Überprüfen Sie, ob eine Kombination von Zellen in einer Zeile in Excel eindeutig ist

Ich habe eine Excel-Tabelle, in der 3 Spalten (A, B und C) eine eindeutige Kennung für jede Zeile bilden, die Werte in den Spalten jedoch nicht eindeutig sind. Beispiel:

   ABC    REF   001
   ABC    REF   002
   ABC    REF   003
   ABC    DOC   001
   ABC    DOC   002
   ABC    DOC   003

Die obigen Zeilen sind gültig, da keine Zeile die gleiche Wertekombination aufweist (z. B. gibt es keine zwei Zeilen mit „ABC REF002“, auch wenn die Spalten B und C Duplikate aufweisen).

Wie kann ich eine Excel-Validierung hinzufügen, sodass ein Validierungsfehler auftritt, wenn der Benutzer eine Wertekombination in den Spalten A, B und C eingibt, die mit der Kombination einer anderen Zeile übereinstimmt?

Antwort1

Geben Sie das folgende Ereignismakro in den Codebereich des Arbeitsblatts ein:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim I As Long, st As String, J As Long, k As Long
    Dim CH As String

    If Intersect(Range("A:C"), Target) Is Nothing Then Exit Sub
    CH = Chr(1)
    I = Target.Row
    J = Cells(Rows.Count, 1).End(xlUp).Row
    st = Cells(I, 1).Text & CH & Cells(I, 2).Text & CH & Cells(I, 3).Text

    For k = 1 To J
        If k <> I Then
            stk = Cells(k, 1).Text & CH & Cells(k, 2).Text & CH & Cells(k, 3).Text
            If st = stk Then
                MsgBox "Combination already in use:" & vbCrLf & stk
                Exit Sub
            End If
        End If
    Next k

End Sub

Da es sich um Arbeitsblattcode handelt, ist er sehr einfach zu installieren und automatisch zu verwenden:

  1. Klicken Sie mit der rechten Maustaste auf den Registerkartennamen unten im Excel-Fenster
  2. Wählen Sie „Code anzeigen“ – dadurch wird ein VBE-Fenster geöffnet
  3. Füge das Material ein und schließe das VBE-Fenster

Wenn Sie Bedenken haben, probieren Sie es zunächst auf einem Probearbeitsblatt aus.

Wenn Sie die Arbeitsmappe speichern, wird das Makro mit gespeichert. Wenn Sie eine neuere Version von Excel als 2003 verwenden, müssen Sie die Datei speichern als.xlsmstatt.xlsx

So entfernen Sie das Makro:

  1. Rufen Sie die VBE-Fenster wie oben auf
  2. Löschen Sie den Code
  3. Schließen Sie das VBE-Fenster

Weitere Informationen zu Makros im Allgemeinen finden Sie unter:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

Und

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Weitere Informationen zu Ereignismakros (Arbeitsblattcode) finden Sie unter:

http://www.mvps.org/dmcritchie/excel/event.htm

Damit dies funktioniert, müssen Makros aktiviert sein!

verwandte Informationen