Zellen mit Farben zählen (ohne bedingte Formatierung)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zellen mit Farben zählen (ohne bedingte Formatierung)

Re: Zellen mit Farben zählen (ohne bedingte Formatierung)

von Helmut_S » Fr, 19.10.2018 11:28

Noch ein Vorschlag: vorweg sei gesagt, dass er nicht auf meinem "Mist gewachsen ist, sondern aus einem 11 Jahre alten Beitrag in diesem Forum stammt. Forums-User Eia hatte da, einen wie mir scheint, recht originellen Einfall.
Es braucht dazu kein Makro, setzt aber voraus, dass die HG-Farbe per Formatvorlage zugewiesen wurde. Dies ist sowieso zu empfehlen schon nur um sicher zu stellen, das die HG-Farbe der zu zählenden Zellen wirklich gleiche RGB-Werte enthält. Notfalls kannst du ja eine neue Zell-Vorlage mit entsprechender HG-Farbe erstellen und per Formatpinsel (mit Doppelklick) allen zu zählenden Zellen in einem Rutsch zuweisen.
Also hier gibt es - neben Markos zum Thema - den Vorschlag nachzulesen.
viewtopic.php?f=2&t=13607&hilit=z%C3%A4hlenURL
Lediglich die Beispiel-Tabelle stammt von mir.

Gruß, Helmut
Dateianhänge
Zellen_mit_Formatcode_zaehlen.ods
(8.3 KiB) 370-mal heruntergeladen

Re: Zellen mit Farben zählen (ohne bedingte Formatierung)

von mikeleb » Fr, 19.10.2018 10:19

Hallo,
anbei ein Beispiel, wie man es per benutzerdefinierter Funktion lösen kann.

Code: Alles auswählen

Function farbe_zaehlen(iTab,sBereich,r,g,b)
	'Aufraufparameter:
	'iTab: Nummer des Tabellenblattes
	'sBereich: zu untersuchender Bereich als String
	'r,g,b: RGB-Werte der Farbe
	odoc=Thiscomponent
	oTab=odoc.Sheets(iTab-1)
	oBereich=oTab.getCellRangeByName(sBereich)
	n=0
	spalten=oBereich.columns.count
	zeilen=oBereich.rows.count
	for sp=0 to spalten-1
		for ze=0 to zeilen-1
			if obereich.getCellByPosition(sp,ze).Cellbackcolor=RGB(r,g,b) then
				n=n+1
			end if
		next
	next
	farbe_zaehlen=n
End Function
EIn Knackpunkt ist stets, dass du die RGB-Werte der Farbe kennen musst. Man muss also wissen, dass Grün3 z. b. die Werte 0,204,0 besitzt.
edit: Einfacher wäre es, wenn man beim Funktionaufrauf anstelle der RGB-Werte eine Zelle angibt, die die gewünschte Farbe hat.
Dateianhänge
function_farbenzaehlen.ods
(15.42 KiB) 258-mal heruntergeladen

Re: Zellen mit Farben zählen (ohne bedingte Formatierung)

von paljass » Fr, 19.10.2018 08:27

Hi,
ich hatte mir vor einiger Zeit mal 2 Dateien - ich meine aus diesem Forum - runtergeladen, in denen Farben per Makro gezählt werden.

Kannst ja mal schauen, ob dir das irgendwie weiterhilft.

Gruß
paljass
Dateianhänge
Farben_zaehlen-1.ods
(9.53 KiB) 254-mal heruntergeladen
Farben_zaehlen_mit_Ausgabe.ods
(10.73 KiB) 325-mal heruntergeladen

Re: Zellen mit Farben zählen (ohne bedingte Formatierung)

von echo » Do, 18.10.2018 18:30

Hallo
ich vermute das an der überschaubaren Resonanz auf deine Frage erkennbar ist, das die Auswertung vom Zellformat in einer Tabellenkalkulation nicht vorgesehen ist.

Jede Art ihrer Auswertung, der Einsatz von Filtern oder Berechnungen und letztendlich auch das einfärben per bedingter Formatierung zielen in aller Regel nicht auf das Zellformat sondern auf den Inhalt der Zellen hin.
Möglicherweise ist eine Auswertung per Makro nicht undenkbar, da bin ich aber nicht der richtige.

mein Rat wäre:
Statt die Zelle manuell einzufärben, würde ich diese Zelle mit irgendeinem Zeichen auszufüllen. (Alternativ eine extra Hilfsspalte mit Zeichen ausfüllen)
Der Rest ist zB. mit =SUMMEWENN() kein Problem.
Der Inhalt der (Hilfs-)Spalte könnte eine bedingte Formatierung auslösen, so das das Einfärben automatisch geschieht.
Die manuelle Eingabe könnte sich so auf die Eingabe eines Zeichens beschränken, das möglicherweise auch noch per PullDown angeboten werden kann. Statt eines einzigen Zeichens ist natürlich auch ein Klartext möglich.

Gruß Holger

Nach oben