Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Meist verwendete Zellhintergrundfarbe ermitteln

Meist verwendete Zellhintergrundfarbe ermitteln
Martin
Hallo,
Wenn ich einen Bereich markiere, brauche ich unbedingt die meist verwendete Zellhintergrundfarbe des markierten Bereiches! Was die ganze Sache vielleicht noch einfacher macht: Die markierten Zellen sind immer in einer Zeile nebeneinander. Ich wüßte noch nicht einmal einen Ansatz, wie ich dieses Problem lösen könnte - wenn das überhaupt geht!
Gruß,
Martin
AW: Meist verwendete Zellhintergrundfarbe ermitteln
Matthias
Hallo Martin,
folgender Code schreibt die Häufigkeiten und die Farbindizies in 2 Hilfsspalten (hier 5 und 6).

Sub Hintergrund()
Const Hilfsspalte = 5 'und die nächste (hier 6)
Dim a(57) As Integer, i As Integer, j As Integer
Dim z As Range, f As Long
For Each z In Selection
f = z.Interior.ColorIndex
If f >= 0 Then a(f) = a(f) + 1
Next z
j = 2
Range(Cells(2, Hilfsspalte), Cells(70, Hilfsspalte + 1)).ClearContents
For i = 0 To 57
If a(i) > 0 Then
Cells(j, Hilfsspalte + 1) = i   '1. Hilfsspalte: Farbe
Cells(j, Hilfsspalte) = a(i)    '2. Hilfsspalte: Häufigkeit
j = j + 1
End If
Next i
End Sub

in die erste Zeile kann die Formel für das Maximun:
in E1: =MAX(E2:E60)~f~
in F1: ~f~=SVERWEIS(E1;E2:F160;2;FALSCH)
Dann hast du in F1 den meistgebrauchten Farbindex
Hoffe, das hilft Dir weiter.
Gruß Matthias
Anzeige
AW: Meist verwendete Zellhintergrundfarbe ermitteln
Martin
Hallo Matthias,
vielen Dank für Deine Hilfe. Ich freue mich, dass das so gut funktioniert! Ich habe sogar Probleme den Code zu verstehen, aber Hauptsache es funktioniert! Trotzdem habe ich noch eine Frage bzw. Bitte: Leere Zelle ohne Hintergrundfarbe werden beim Zählen ganz ausgelassen. Ist es auch möglich, dass diese auch gezählt (also als weiß) werden?
Gruß,
Martin
AW: Meist verwendete Zellhintergrundfarbe ermitteln
Matthias
Hallo Martin,
ändere die Schleife folgendermaßen ab:
For Each z In Selection
f = z.Interior.ColorIndex
If f = xlColorIndexNone Then f = 2 'keine Farbe = weiß
If f &gt= 0 Then a(f) = a(f) + 1
Next z
Dann wird keine Farbe (xlColorIndexNone) wie weiß (2) behandelt.
Gruß Matthias
Anzeige
AW: Meist verwendete Zellhintergrundfarbe ermitteln
Martin
Lieber Matthias,
noch einmal vielen Dank! Sicherlich fragst Du Dich, weshalb ich das brauche: Ich schreibe gerade ein Makro, dass mir meine Excel-Tabelle in einen sehr "kleinen" HTML-Code exportiert. Ich möchte, dass dabei die meist verwendete Zellhintergundfarbe in den Zeilenanfang (also tr)zusammengefaßt wird, damit diese Information nicht in jede einzelne Zelle (also td) geschrieben werden muss und so sinnlos Quellcode verbraucht!
Noch eine wirklich allerletzte Frage hätte ich: Ich brauche wirklich nur die meist genutzte Farbe. Kann ich direkt mit VBA abfragen, welche Farbe den größten a(i)-Wert hat?
Anzeige
AW: Meist verwendete Zellhintergrundfarbe ermitteln
Matthias
Hallo Martin,
also ohne Hilfsspalten und so:
Option Explicit

Sub Hintergrund()
Dim a(57) As Integer, i As Integer, max As Integer, max_f As Integer
Dim z As Range, f As Long
For Each z In Selection
f = z.Interior.ColorIndex
If f = xlColorIndexNone Then f = 2 'keine Farbe = weiß
If f >= 0 Then a(f) = a(f) + 1
Next z
max = 0
max_f = 0
For i = 0 To 57
If a(i) > max Then
max = a(i)
max_f = i
End If
Next i
'max_f enthält den Index des am meisten verwendeten Farbe:
MsgBox "Meist verwendet: " & max_f
End Sub

Gruß Matthias
AW: Meist verwendete Zellhintergrundfarbe ermitteln
Martin
VIELEN DANK!!!!
Super, genau das habe ich gebraucht. Jetzt kann ich im HTML-Code die Farbe (RGB als Hexadezimal umgewandelt) im Zeilenanfang angeben und spare ungemein Quellcode in den einzelnen HTML-Tabellenzellen!
Gruß Martin!!!
Anzeige
AW: Danke für die Rückmeldung! - o.T.
02.04.2004 12:41:16
Matthias
:-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige