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

Forumthread: Farben in einer Spalte vergleichen

Farben in einer Spalte vergleichen
12.02.2005 20:28:00
Bernd
Liebe Excelfreunde,
ich suche schon verzweifelt in den Archiven, habe aber nichts passendes gefunden. Vor ein paar Tagen habe ich ein paar Tipps bekommen, konnte aber nichts davon umsetzen. Vielleicht kann mir jemand helfen. Ich möchte dass in einem definierten Bereich jede Zelle in einer Spalte nach dem Farbindex in der Weise verglichen wird, ob in dieser Spalte noch einmal der gleiche Farbwert vorkommt, wenn ja, dann soll die Spalte markiert wird und wenn nein, dann soll die nächste Spalte untersucht werden.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Farben in einer Spalte vergleichen
12.02.2005 20:37:28
Josef
Hallo Bernd!
Vielleicht so!

Sub vergleichSpalteFarbe()
Dim iCol As Integer
Dim lRow As Long, lastRow As Long
Dim tmp As String
lastRow = 1000 'lezte Zeile die durchsucht wird
For iCol = 1 To 256
For lRow = 1 To lastRow
If InStr(1, tmp, Cells(lRow, iCol).Interior.ColorIndex) > 0 Then
Range(Cells(1, iCol), Cells(lastRow, iCol)).Select
Exit Sub
End If
If Cells(lRow, iCol).Interior.ColorIndex <> xlNone Then
tmp = tmp & Cells(lRow, iCol).Interior.ColorIndex
End If
Next
Next
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
Korrektur!
12.02.2005 20:38:40
Josef
Hallo Bernd!
Kleine Korrektur!

Sub vergleichSpalteFarbe()
Dim iCol As Integer
Dim lRow As Long, lastRow As Long
Dim tmp As String
lastRow = 1000 'lezte Zeile die durchsucht wird
For iCol = 1 To 256
For lRow = 1 To lastRow
If InStr(1, tmp, Cells(lRow, iCol).Interior.ColorIndex) > 0 Then
Range(Cells(1, iCol), Cells(lastRow, iCol)).Select
Exit Sub
End If
If Cells(lRow, iCol).Interior.ColorIndex <> xlNone Then
tmp = tmp & Cells(lRow, iCol).Interior.ColorIndex
End If
Next
tmp = vbNullString
Next
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Korrektur!
12.02.2005 20:48:12
Bernd
Liieber Sepp,
zuerstmal vielen Dank für Deinen schnellen Support, aber das Makro läuft die Spalten nicht durch, egal ob in der Spalte doppelte Farben sind oder nicht ?
Woran kann es liegen ?
AW: Korrektur!
12.02.2005 20:55:15
Josef
Hallo Bernd!
Also der Code läuft sicher.
Die Farben sind aber schon mit der Hand formatiert?
Oder vielleicht mit bedingter Formatierung?
Wo hast du den Code den hinkopiert?
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Korrektur!
12.02.2005 21:01:21
Bernd
Die Farben entsprechen den 56 Farben, die Excel als Füllung (genauer von Index 3 - Index 53)anbietet. Also nichts mit bedingter Formatierung.
Kopiert habe ich den Code in ein Modul. Das Makro markiert beim Ablauf genau die ersten zwei Spalten unabhängig ob gleiche Farben enthalten sind oder nicht. Versuche Deinen Code zu entschlüsseln, aber soweit reichen meine Kenntniss in VBA nicht.
Danke für Deine Hilfe!
Anzeige
AW: Korrektur!
12.02.2005 21:07:57
Josef
Hallo Bernd!
Ich hab's gerade nochmal probiert, sogar mit verbundenen Zellen, und
es läuft bei mir ohne Probleme!
Der Code ist nicht schwer zu verstehen.
Er durchläuft in jeder Spalte die Zeilen von 1 bis "lastrow" und
schreibt den Farbwert der Füllung in einen String.
Der String wird mit "Instr" durchsucht, ob der Farbwert der gerade
durchlaufenen Zelle schon vorhanden ist. Wenn ja, dann wird die
Spalte markiert und das Makro beendet!
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Korrektur!
12.02.2005 21:23:06
Bernd
Stimmt, ich habe es an einer neuen Tabelle ausprobiert und es funktioniert bestens, genauso wie ich es wollte. Jetzt muss ich aber schauen, wieso es an meiner bisherigen Datei nicht funktioniert. Ich habe etliche Hintergrundprozesse laufen (Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) die jetzt entrümpeln werden. Ich denke das ich den Fehler finden werde.
Nochmals vielen Dank für Deine schnelle Hilfe. Ich bin begeistert über das professionelle Know How das einem in kürzester Zeit hier angeboten wird.
Einen schönen Abend wünsche ich Dir noch!
Ciao
Bernd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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