Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige