Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Doppelte mal anders

Forumthread: Doppelte mal anders

Doppelte mal anders
18.10.2007 11:03:00
Erwin
Hallo Experten,
im Forum findet man zwar einige VBA Beispiele, wie mal Doppelte erkennt und markiert, aber das Problem ist immer, dass eine Spalte bis zum Ende durchsucht wird und das dauert bei mir immer ewig, weil meine Listen i. d. R. 10.000 bis 40.000 Einträge hat.
Meine Idee für eine neue Vorgehensweise:
In einer sortierten Liste könnte man ja nur immer die nachfolgenden 10 oder 20 Zellen einer Spalte vergleichen, weil öfter kommt z. B. das Aktenzeichen nicht vor; dann immer so weiter; das würde m. E. jede Menge Zeit sparen.
Kommt das Aktenzeichen nur einmal vor, soll nichts passieren, kommt es öfter vor, soll das erste Aktenzeichen grün, die Doppelten anschließend rot markiert werden.
Schön wäre es, wenn man die Anzahl der Zellen (10, 20, ...) , die verglichen werden sollen, über eine msg box festlegen könnte.
Wer kann mir bitte helfen sonst werde ich hier nie fertig?
Danke im voraus - Erwin

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wieso per VBA und nicht einfach per Formatierung ?
18.10.2007 11:55:40
NoNet
Hallo Erwin,
nur zur Kennzeichnung der "Doppelten" benötigst Du kein VBA, das kannst Du auch recht einfach per "Bedingte Formatierung" lösen :
- Markiere A2:A50000 (in A1 steht die Überschrift !)
- wähle im Menü "Format - Bedingte Formatierung"
- Bedingung1 : Formel ist (nicht "Zellwert ist") : =UND(ZÄHLENWENN(A$1:A1;A2)=0;A2<>"")
- wähle über "Format - Muster" eine Farbe (z.B. Grün)
- Befehl "Hinzufügen >>" (um eine weitere Bedingung hinzuzufügen)
- Bedingung2 : Formel ist (nicht "Zellwert ist") : =UND(ZÄHLENWENN(A$1:A1;A2)>0;A2<>"")
- wähle über "Format - Muster" eine Farbe (z.B. Rot)
- OK
Und so sieht das dann z.B. aus :
Userbild
Gruß, NoNet

Anzeige
AW: Wieso per VBA und nicht einfach per Formatierung ?
18.10.2007 12:12:00
Erwin
Hallo NoNet,
erstmal herzlichen Dank für deine Mühe, das werde ich mir auf jeden Fall aufheben und verwenden, wenn es passt.
Ich brauche leider VBA, weil dann weitere VBA Aktionen kommen, z. B. nach Farben sortiere, oder Zellen mit bestimmten Farben löschen.
Kannst du oder jemand anders hier auch noch helfen?
Erwin

Anzeige
kann hier keiner helfen
18.10.2007 22:22:29
erwin.geer
Hallo Experten,
kann mir bei meinem Problem denn keiner helfen?

AW: kann hier keiner helfen
18.10.2007 23:05:34
Jens
Hallo Erwin
Bin zwar kein VBA-Profi, aber versuch mal folgendes Makro:

Sub Aktenzeichen()
Dim Zelle As Range
Dim Wahl
Dim adr As Range
Dim Anz As Integer
Set adr = Worksheets("Tabelle1").Range("A1:A100")
Wahl = InputBox("Bitte Akte eingeben")
Anz = Application.WorksheetFunction.CountIf(adr, Wahl)
If Wahl = "" Then Exit Sub
If Anz  1 Then Cells.Find(Wahl).Interior.ColorIndex = 4
End Sub


Den Bereich mußt Du dann noch anpassen. (Range("A1:A100"))
Gibt sicherlich bessere Lösungen, aber vielleicht hilft das schon.....?
Gruß aus dem Sauerland
Jens

Anzeige
Makro zu langsam - Anpassung
19.10.2007 07:13:00
Erwin
Hallo Jens,
danke für die Mühe; in deinem Makro wird nur genau der Wert markiert, den ich in InputBox eingebe.
Ich habe mal ein Beispiel hochgeladen, auch das bisher verwendete Makro. Das Makro ist super, aber viel zu langsam, wenn ich Listen mit Zig-Tausend Aktenzeichen habe, weil das Az. immer bis zum Ende der Tabelle verglichen wird, brauche ich mehrere Stunden.
Meine Idee für eine kürzere Laufzeit ist, das Az. nur immer mit den nächsten 10, 20, ... Az. zu vergleichen, weil es sich um eine sortierte Liste handelt, den Code auszuführen und dann das nächste Az. zu prüfen.
Vielleicht kann jemand den vorhandenen Code anpassen?
Hier meine Beispieldatei: https://www.herber.de/bbs/user/46895.xls
Grüße Erwin

Anzeige
AW: Makro zu langsam - Anpassung
19.10.2007 12:30:25
Harry
Hallo Erwin,
anbei ein Beispiel https://www.herber.de/bbs/user/46903.zip
In Tabelle 2 die Ausgangsliste, wird nach Tabelle 1 kopiert, sortiert und markiert. Dauert bei 40.000 Datensätzen ca. 5 Sekunden.
Gruß
Harry

Anzeige
AW: Makro zu langsam - Anpassung ---> super
19.10.2007 23:48:29
erwin.geer
Hallo Harry,
echt starkes Stück was du da abgeliefert hast, gut dass ich nochmals nachgehakt habe.
Genau das ist es was ich brauche, das erleichtert mich um vieles.
Danke - Erwin
;

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