Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1072to1076
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
Inhaltsverzeichnis

Doppelte färben

Doppelte färben
07.05.2009 14:26:02
Marc
Hallo zusammen,
ich brauche Eure Hilfe! Im Archiv habe ich nichts passendes gefunden.
Ich habe in der Spalte A ab Zeille 2 Kundenummern (9stellig). Diese Kundennummer tauchen öfters auf.
Jetzt habe ich schon sortiert. Allerdings ist es bei einer Anzahl von 30.000 Datensätzen unmöglich, die doppelten zu finden.
Folgendes Makro habe ich im Archiv gefunden:

Sub Doppelte_markieren()
Dim rng As Range
Dim Bereich As Range
Set Bereich = Range("a2:a10000")   'Bereich der durchsucht wird
For Each rng In Bereich
If Application.CountIf(Bereich, rng) > 1 Then _
rng.Interior.ColorIndex = 20
Next
End Sub


Allerdings wird hier auch schon der erste Eintrag markiert. Es soll aber erst ab dem zweiten Eintrag markiert werden.
Beispiel:
123 keine Farbe
123 rot
123 rot
Wenn möglich, bitte als richtige Farbe (und nicht bedingte Formatierung), weil die Kundenummern dann noch kopiert werden. Und mein makro kann bedingte Formatierung nicht erkennen.
Gruß
Marc

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

Betreff
Datum
Anwender
Anzeige
AW: Doppelte färben
07.05.2009 14:30:16
Hajo_Zi
Hallo marc,
warum Makro?

Doppelte Einträge
Annahme: Deine Werte stehen in A1 bis Axx
A1 anwählen, Format, Bedingte Formatierung (bei bedingter Formatierung soll es eine Grenze von  _
2050 Zeilen geben, mal selber Testen)
"Formel ist" auswählen NICHT "Zellwert ist"
Bei der Formel eingeben =ZÄHLENWENN(A$1:A1;A1)>1
Bei Format dann z.B. Musterfarbe rot auswählen mit OK beenden.
Die Formatierung auf Die Zellen A2 bis Axx kopieren. Fertig
Dann werden Doppelt farblich gekennzeichnet



Anzeige
AW: Doppelte färben
07.05.2009 14:54:43
D.Saster
Hallo Hajo,
Zitat:

bitte als richtige Farbe (und nicht bedingte Formatierung), ...


Gruß
Dierk

AW: Doppelte färben
07.05.2009 14:55:16
D.Saster
Hallo,

Sub Doppelte_markieren()
Dim rng As Range
Dim Bereich As Range
Set Bereich = Range("a2:a10000")   'Bereich der durchsucht wird
For Each rng In Bereich
If Application.CountIf(Range(Bereich(1), rng), rng) > 1 Then _
rng.Interior.ColorIndex = 20
Next
End Sub


Gruß
Dierk

AW: Doppelte färben
07.05.2009 20:22:48
Marc
Hallo zusammen,
vielen Dank für Eure Hilfe!
Eine Frage ich habe noch. Kann man das Ende in Spalte A auch flexibler machen, so unter dem Motto bis zur letzten belegten Zelle statt eine feste Vorgabe? Wäre toll, wenn das klappen würde.
Vielen Dank!
Gruß
Marc
Anzeige
AW: Doppelte färben
07.05.2009 22:08:35
Uduuh
Hallo,
set Bereich=Range(cells(2,1), cells(rows.count,1).end(xlup))
Gruß aus’m Pott
Udo

Udo: Danke! oT
08.05.2009 07:02:15
Marc
AW: schnellere Alternative zur Schleife
08.05.2009 20:36:59
Daniel
Hi
ich weiß ja nicht, was ihr für Rechner habt, aber bei 30.000 Zeilen bin ich ja von Hand schneller mit dieser Aufgabe fertig als so ein Schleifenmakro.
probier mal das hier, sollte geringfügig schneller sein.
allerdings werden die Daten sortiert, aber das sollte bei dieser Datenmenge nicht das Problem sein.

Sub test1()
With ActiveSheet.UsedRange
.Sort Key1:=.Cells(1, 1), order1:=xlAscending, header:=True
With Intersect(.Cells, .Offset(1, 0))
With .Columns(.Columns.Count).Offset(0, 1)
.FormulaR1C1 = "=if(RC1=R[-1]C1,"""",0)"
.Formula = .Value
.EntireRow.Sort Key1:=.Cells(1, 1), order1:=xlAscending, header:=xlNo
Intersect(.SpecialCells(xlCellTypeBlanks).EntireRow, Columns(1)).Interior. _
ColorIndex = 20
.EntireColumn.Delete
End With
End With
.Sort Key1:=.Cells(1, 1), order1:=xlAscending, header:=True
End With
End Sub


Gruß, Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige