Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.06.2025 13:53:13
23.06.2025 10:14:14
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA doppelte Einträge

VBA doppelte Einträge
Ralf
Hallo liebe Forum Nutzer
ich habe folgendes Problem, wo ich einfach keine Lösung finde:
In dem Bereich BJ5 bis BJ46 sollen alle doppelten Einträge per VBA durch einen roten Hintergrund hervorgehoben werden, so wie es mit der bedingten Formatierung auch möglich wäre.
Ich habe dazu folgendes Makro geschrieben:

Sub Bedingte()
Dim Zelle As Range
For Each Zelle In Selection
 Zelle.FormatConditions.Delete
Zelle.FormatConditions.Add Type:=xlExpression, Formula1:="=ZÄHLENWENN($BJ$5:$BJ$46;BJ5)>1"
Zelle.FormatConditions(1).Interior.ColorIndex = 3
Next Zelle
End Sub

Ich bekommen leider immer eine Fehlermeldung: 'Laufzeitfehler 1004 - Anwendungs- oder objektdefinieter Fehler' und die kursiven Zeilen werden vom Debugger markiert.
Habe leider im Web nichts finden können. Hat jemand vielleicht einen Idee oder besser noch einen Lösungsansatz oder -vorschlag.
Vielen Dank.
Ralf
Anzeige
AW: VBA doppelte Einträge
29.12.2009 15:28:25
JoWE
Ralf,
wo ist denn 'Selection' definiert?
Gruß,
Jochen
AW: VBA doppelte Einträge
29.12.2009 15:32:53
Tino
Hallo,
versuche es mal so.
Sub Bedingte()

With Range("BJ5:BJ46")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=ZÄHLENWENN($BJ$5:$BJ$46;" & ActiveCell.Address(0, 0) & ")>1"
.FormatConditions(1).Interior.ColorIndex = 3
End With

End Sub
Gruß Tino
Anzeige
AW: VBA doppelte Einträge
29.12.2009 15:46:27
Ralf
Hallo Jochen, hallo Tino
danke für das schnelle Feedback.
Muss ich die "Selection" definieren? Habe dieses nicht getan, weiss auch nicht wie.
Bei der Variante von Tino tritt exakt der selbe Fehler wie zuvor auf.
Bin wirklich ratlos!
GrÜße Ralf
Excel-Version Problem ?
29.12.2009 15:58:49
robert
hi,
tinos lösung funkt in excel 2003 tadellos...
gruß
robert
Anzeige
AW: Ralf seiner auch....
29.12.2009 16:03:59
hary
mahlzeit allemann
ralf sein Code auch unter 2007
Userbild
gruss hary
.und warum ist er dann ratlos? :-) owT
29.12.2009 16:10:11
robert
Blattschutz!!!!!!!!! owT.
29.12.2009 16:24:52
hary
.
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA für doppelte Einträge in Excel hervorheben


Schritt-für-Schritt-Anleitung

Um doppelte Einträge in einem bestimmten Bereich in Excel mit VBA hervorzuheben, kannst du folgendes Makro verwenden. Stelle sicher, dass du in Excel 2003 oder höher arbeitest.

  1. Öffne die Excel-Datei, in der du die doppelten Einträge hervorheben möchtest.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  4. Füge den folgenden Code in das Modul ein:
Sub Bedingte()
    With Range("BJ5:BJ46")
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:="=ZÄHLENWENN($BJ$5:$BJ$46;BJ5)>1"
        .FormatConditions(1).Interior.ColorIndex = 3
    End With
End Sub
  1. Schließe den VBA-Editor.
  2. Klicke im Excel-Fenster auf Entwicklertools, dann auf Makros.
  3. Wähle das Makro Bedingte aus und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn der Bereich nicht korrekt definiert ist. Stelle sicher, dass With Range("BJ5:BJ46") korrekt ist.
  • Fehler beim Ausführen des Makros: Wenn du den Fehler "Anwendungs- oder objektdefinierter Fehler" erhältst, überprüfe, ob das Arbeitsblatt, auf dem du das Makro ausführen möchtest, aktiv ist. Manchmal kann auch Blattschutz diesen Fehler verursachen.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch die bedingte Formatierung in Excel nutzen:

  1. Markiere den Bereich BJ5:BJ46.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden.
  4. Gib die Formel =ZÄHLENWENN($BJ$5:$BJ$46;BJ5)>1 ein.
  5. Wähle das gewünschte Format (z.B. roter Hintergrund) und klicke auf OK.

Praktische Beispiele

Angenommen, du hast folgende Werte in deinem Bereich:

BJ
A
B
A
C
B

Nach dem Ausführen des Makros oder der bedingten Formatierung werden die Zellen mit den Werten A und B rot hervorgehoben, da sie doppelt vorkommen.


Tipps für Profis

  • Makros speichern: Stelle sicher, dass du deine Excel-Datei als .xlsm (Makro-fähige Arbeitsmappe) speicherst, um deine VBA-Codes zu behalten.
  • Fehlerbehebung: Nutze den Debugger im VBA-Editor, um den Code Schritt für Schritt zu analysieren. Das hilft, Fehler schneller zu identifizieren.
  • Optimierung: Wenn du mit großen Datenmengen arbeitest, teste den Code zuerst an einem kleineren Datensatz, um die Leistung zu überprüfen.

FAQ: Häufige Fragen

1. Warum funktioniert mein Makro nicht in Excel 2010?
Es sollte in Excel 2010 funktionieren, solange der VBA-Code korrekt ist und keine Blattschutz-Einstellungen den Zugriff auf die Zellen blockieren.

2. Kann ich die Hintergrundfarbe ändern?
Ja, du kannst die ColorIndex-Nummer im Code ändern, um eine andere Farbe zu wählen. Zum Beispiel, ColorIndex = 6 für gelb.

3. Was mache ich, wenn ich mehr als einen Bereich überprüfen möchte?
Du kannst zusätzliche With-Blöcke für die anderen Bereiche hinzufügen oder die Formel anpassen, um mehrere Bereiche zu berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige