Doppelte Eingabe per VBA prüfen in Excel
Schritt-für-Schritt-Anleitung
Um doppelte Eingaben in Excel über VBA zu prüfen, kannst du das folgende Verfahren verwenden. Diese Anleitung funktioniert in Excel-Versionen, die VBA unterstützen, wie Excel 2010 und höher.
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Wähle dein Arbeitsblatt im Projektfenster aus.
-
Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim rng As Range
If Not Intersect(Range("D:D"), Target) Is Nothing Then
For Each rng In Target
Call CheckDoppelte(rng, 4)
Next
ElseIf Not Intersect(Range("E:E"), Target) Is Nothing Then
For Each rng In Target
Call CheckDoppelte(rng, 5)
Next
End If
End Sub
Private Function CheckDoppelte(rngZelle As Range, lSpalte As Long)
If rngZelle.Value <> "" And rngZelle.Column = lSpalte Then
If WorksheetFunction.CountIf(Columns(lSpalte), rngZelle.Value) > 1 Then
MsgBox rngZelle.Value & " schon vergeben !!", vbCritical
Application.EnableEvents = False
rngZelle.Clear
Application.EnableEvents = True
rngZelle.Select
End If
End If
End Function
-
Schließe den VBA-Editor und teste das Skript, indem du Werte in Spalte D und E eingibst.
Häufige Fehler und Lösungen
-
Fehler: "Komponente nicht gefunden"
Lösung: Überprüfe, ob du im richtigen Arbeitsblatt bist und der VBA-Code richtig eingefügt wurde.
-
Fehler: Eingabe wird nicht erkannt
Lösung: Stelle sicher, dass die EnableEvents
-Eigenschaft nicht deaktiviert ist. Dies passiert häufig, wenn der Code abgebrochen wird.
Alternative Methoden
Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch die Bedingte Formatierung
in Excel nutzen, um doppelte Einträge zu markieren:
- Markiere den Bereich in Spalte D und E.
- Gehe zu
Start
> Bedingte Formatierung
> Regel zur Hervorhebung von Zellen
.
- Wähle
Doppelte Werte
und bestätige.
Diese Methode ist einfacher, aber weniger flexibel als ein VBA-Skript.
Praktische Beispiele
Stell dir vor, du hast eine Liste von Namen in Spalte D und E. Wenn du "Max Mustermann" in D1 und dann in D2 erneut eingibst, sollte eine Fehlermeldung erscheinen, die dir sagt, dass der Name bereits vergeben ist.
Hier gibt es auch die Möglichkeit, mehrere Spalten auf doppelte Eingaben zu prüfen. Du kannst das Skript erweitern, um zusätzliche Spalten hinzuzufügen.
Tipps für Profis
- Code anpassen: Du kannst das Skript anpassen, um mehr Spalten zu überprüfen oder die Art der Fehlermeldung zu ändern.
- Debugging: Nutze die
Debug.Print
-Anweisung, um Fehlerquellen zu identifizieren, falls das Skript nicht wie gewünscht funktioniert.
- Öffne den VBA-Editor regelmäßig: Um sicherzustellen, dass deine Änderungen korrekt sind, überprüfe den Code nach jeder Anpassung.
FAQ: Häufige Fragen
1. Wie kann ich das Skript für andere Spalten anpassen?
Du kannst den Code kopieren und die Spaltennummern in der CheckDoppelte
-Funktion ändern.
2. Funktioniert das Skript auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Skripte. Du musst die Desktop-Version verwenden.
3. Was tun, wenn VBA deaktiviert ist?
Aktiviere die Makros in den Excel-Optionen unter dem Menüpunkt Sicherheitscenter
.
4. Kann ich mehrere Werte gleichzeitig eingeben?
Das Skript prüft nur den aktuellen Wert, wenn du eine Zelle änderst. Mehrfacheingaben in einer Zelle sind nicht möglich.