Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Farbige Zellen zählen
Walter
Hallo Excelfreunde,
Ich erzeuge per bedingter Formatierung farbige Zellen.
Kann man die Werte dieser Zellen zählen?
Gruß
Walter
AW: Farbige Zellen zählen
28.09.2009 21:57:52
Josef
Hallo Walter,
Farben sind zur darstellung, Zahlen zum rechnen.
Verwende zur Summierung SUMMEWENN() oder SUMMENPRODUKT() mit den selben Kriterien die du für die bedingte Formatierung verwendest.
Gruß Sepp

AW: Farbige Zellen zählen
28.09.2009 22:40:11
Walter
Danke Sepp,
hatte es fast geahnt.
Walter
Kann man, ist aber sehr aufwendig und...
29.09.2009 00:56:07
Luc:-?
...für dein VBA-Level nicht zu empfehlen, Walter... ;-)
Sepps Vorschlag entspricht dem allgemeinen Standard für eine Lösung dieses Problems.
Hatte dazu im Forum schon mal längere Ausführungen gemacht, deshalb zum Beweis meiner Eingangsbehauptung hier nur nochmals Folgendes...
Userbild
Die beiden Fktt, um die es hier geht, sind sog udFktt (VBA-Anwendung). Leider unterschlägt die Forumssoftware seit einigen Wochen mitunter die (Text-)Farbe Schwarz bei GIF-Bildern, weshalb hier bei mir (und viell auch bei Anderen) einige Texte in Weiß erscheinen...
Gruß Luc :-?
Anzeige
AW: Kann man, ist aber sehr aufwendig und...
29.09.2009 20:58:33
bst
Hi Luc:-?,
würdest Du mal bitte den Code der beiden Funktionen FConForm und actCellForm zeigen?
Danke, Bernd
Würde nicht viel nutzen, denn die gehören...
03.10.2009 17:48:39
Luc:-?
...zu einem ganzen System von udFktt, Bernd,
die hier aufeinander bezug nehmen...
Ich habe zu diesem Thema hier vor kurzem schon mal ausführlicher beschrieben, was alles zu beachten ist, wenn man so etwas pgmieren will. Das sollte dir als Inspiration genügen... ;-)
Ansonsten kannst du für das ganze PgmPaket (ca 60 udF u.Subroutinen), wenn es irgendwann mal fertig ist (inkl Hilfe), evtl eine Lizenz erwerben...
Gruß Luc :-?
AW: Würde nicht viel nutzen, denn die gehören...
03.10.2009 18:53:50
bst
Abend Luc:-?
Ich lese hier nicht so intensiv mit. Ein Link wäre nett...
cu, Bernd
Anzeige
Finde ich auf die Schnelle nicht,...
03.10.2009 23:02:25
Luc:-?
...Bernd!
Viell habe ich mich auch geirrt (was ich nicht glaube, aber evtl war's woanders), denn ich habe im fragl ZRaum noch ein anderes Problem so behandelt. Ggf stelle ich das aber hier noch mal ein (wenn ich den Beitrag nicht finde, denn dieser ist es ja wohl nicht!)...
Gruß Luc :-?
Nachtrag: Habe zufällig noch etwas Anderes...
04.10.2009 02:16:59
Luc:-?
...gefunden, Bernd,
und zwar hier. Die udFkt ermittelt zwar nur die aktuelle Zellfarbe und geht auch sonst einen etwas anderen Weg als ich das getan habe, aber sie zeigt das Prinzip und ein (1.) HptProblem bei nicht-englischsprachigem Xl, nämlich: die Bedingungsfml kann nur in lokaler Form ausgelesen wdn und die kann von der vbFkt Evaluate nicht verarbeitet wdn! Dafür gibt es prinzipiell 4 Lösungs­möglich­keiten, von denen nur 3 für direkte Fkt-Auswertung infrage kommen, die 1. nur für Subroutinen, bei denen übrigens auch ein 2.Hpt­Problem einfacher vermieden wdn kann als bei Fktt. Deshalb wird in der verlinkten udF auch ein Name angelegt, was anschei­nend auch Fktt dürfen (habe ich nie versucht!). In Subroutinen kann stattdessen auch eine Hilfszelle verwendet wdn, was bei udFktt nur indirekt über das gezielte Auslösen einer Ereignisproz und von der aufgerufener, quasi von der udF abgekoppelter, Subroutine möglich wäre. Die anderen beiden Möglichkeiten wären das Auslösen der Neuberechnung der FmlZelle, was zu diversen Problemen führen kann und deshalb nicht sonderlich empfehlenswert ist, und alternativ die Auswertung des udF-Teils der Fml der udF-Stdort­zelle mit vbFkt Evaluate [Evaluate(...(Range(...).Formula,...))]. In beiden Fällen wird die Bedingungsfml in US-Originalnotation zurück­gegeben.
Das 2.HptProblem besteht in der Vermeidung bzw Rückgängigmachung der automatischen Anpassung relativer Bezüge an die Standortzelle der die udF enthaltenden Fml. Deshalb wurde hier womöglich auf R1C1[Z1S1]-Bezüge ausgewichen (falls das der Grund ist und auch das Problem löst — habe ich nicht getestet!); ich dagg habe alle (schon in der ausgelesenen Bedingungsfml autoangepassten) A1-Bezüge mit einer anderen udF geparst und um die Differenz zwischen Bedingtformat- und udF-Standortzelle korrigiert. Bei Subroutinen könnte man sich das ersparen, wenn man stets auch die BedingtFormat-Zelle auswählt (einer der wenigen Fälle, wo das wirklich notwendig wäre!).
Alle anderen Probleme sind deutlich kleiner und auf unterschiedliche Weise lösbar. Allerdings sind durch xl12 neue BedingtFormat­Typen [>2] hinzugekommen, die so nicht ausgewertet wdn können. An einer Lösung (auch wichtig für exakte HTML-Umsetzungen, wenn überhpt möglich!?) arbeite ich noch...
Gruß+schöSo, Luc :-?
Anzeige
Analyse: Beim Test der verlinkten udF...
04.10.2009 21:52:10
Luc:-?
...ist mir Folgendes aufgefallen, Bernd + Nachnutzer (Test unter xl9+12):
1. Die scheinbar vorübergehende Umstellung auf R1C1 ist sinn-, weil wirkungslos.
2. Das Eintragen einer A1-Formel in ...RefersToR1C1Local provoziert einen Fehler.
3. Unter xl9 wird der Name tatsächlich physisch angelegt, unter xl12 nur virtuell-temporär, d.h., der Name ist anschließend nicht vorhanden, weshalb sein Löschen zu einem Fehler führt.
4. Durch das Verwenden der Namens­evaluierung direkt im If-Kopf wird die Auto­anpassung verhindert, bei xl9 wird dann aber trotzdem die vom physisch erzeugten Namen ausgelöste Auto­anpassung wirksam, so dass hier eine Relativ­Adressen­Anpassung erforderlich wäre. Bei xl12 scheint das die nur virtuell-temporäre Namens­erzeugung unnötig zu machen, weshalb hier auch nur 1 zählbarer Fkts­Durchlauf im Ggsatz zu 61 bei xl9 erfolgt. Weitere Durchläufe erfolgen höchst­wahrscheinlich im Evaluate-Körper, weil das Ergebnis auch unter xl12 nicht unmittelbar vorliegt. (Darauf deutet auch die „längere" Berech­nungszeit meiner ebenfalls Evaluate benutzenden udF hin!)
5. Wenn Evaluate nicht direkt im If-Kopf* benutzt wird, wdn unter beiden xlVss beide Auto­anpas­sungen wirksam, was zu recht merk­würdigen Relativ­Adress­Verschiebungen führt, die offen­sichtlich der Anzahl der Durch­läufe geschuldet sind und wahr­scheinlich nur aufwendig korrigiert wdn könnten. Das lässt außerdem darauf schließen, dass die Ursache hierfür irgendwie mit der Namens­vergabe zusammen­hängt.
Nicht untersucht wurde der Bedin­gungstyp 1 (xlCellValue), da ohnehin klar ist, dass die Test-udF hier nur bei ganz simplen Bedin­gungen Erfolg verspricht. Des weiteren ist klar erkennbar, dass diese udF problemlos, ggf über ein 2.Argument, auf weitere Auswer­tungs­möglich­keiten erweiterbar wäre (wie das auch bei meinen udF der Fall ist). Aber trotzdem bleibt hier als mein...
Fazit festzuhalten, dass es schon verwunderlich wäre, wenn diese udF in der vorliegenden Form ein brauchbares Ergebnis lieferte, denn das dürfte nur in Ausnahmefällen so sein...
Also im Prinzip auf einem richtigen Weg, aber noch unausgereift! Demggüber fktt meine udFktt zwar ziemlich perfekt, sind aber doch recht langsam, aber viell ist das der Preis, den man dafür zahlen muss... :-|
Nachbemerkung: Es wäre natürlich noch eine 5.Lösungs­variante dieser Problematik vorstellbar, nämlich die pgmierte „Überset­zung" aller Fktsnamen ins US-Original inkl Austausch von Zeichen signifikant unter­schied­licher Verwendung. Das wäre natürlich sehr aufwendig, aber möglicher­weise trotzdem schneller und sicherer.
Gruß Luc :-?
*„Effekte" treten auch in PgmZyklus­Köpfen auf, wenn man erst hier ein Feld erzeugt statt ein bereits vorberei­tetes zu verwenden. Das gilt dann allerdings nicht für „evaluierte" Felder!
Anzeige
AW: Nachtrag: Habe zufällig noch etwas Anderes...
05.10.2009 10:35:46
bst
Morgen Luc,
vielleicht hätte ich denn gleich anders fragen sollen ?
Ich habe mich daran nämlich auch schon mal versucht: http://clever-forum.de/read.php?11,164923,165253
Aber das funktioniert so leider nicht immer und angeblich (kann ich hier nicht testen) so auch nicht mehr mit xl2007.
Ich bin denn irgendwann mal zur Überzeugung gekommen daß es überhaupt nicht möglich ist die bedingte Formatierung korrekt auszulesen, insbesondere wegen der Probleme mit Namen.
Deshalb hätte mich denn interessiert wie Du das machst, insbesondere die Auswertung von Formeln die Namen enthalten.
Hier mal ein 'triviales Beispiel' welches mit der Funktion von mir nicht mehr funktioniert:
Selektiere in Tabelle1 A2 und definiere die beiden folgenden Namen relativ zur Adresse A2:
OBEN: =Tabelle1!A1
UNTEN: =Tabelle1!A3
Nun tue in z.B. Zelle A13 die Formel =UNTEN (das liefert dann logischerweise den Wert aus A14) und in A14 die bedingte Formatierung: Zellwert ist gleich: =OBEN
D.h. Du hast da jetzt 'eine Art Zirkelbezug', die Formel aus A13 liest den Wert aus A14, die bed. Formatierung von A14 vergleicht ihren eigenen Wert mit der Zelle aus A13. Die bedingte Formatierung wird hier immer wahr, unabhängig vom Zellwert in A14, nur wie dieses per VBA bestimmen ?
cu, Bernd
Anzeige

185 Forumthreads zu ähnlichen Themen


Hallo Leute,
in Spalte A habe ich ganz viele Einträge. Jetzt möchte ich von Zelle in der am Anfang dies <artikel name steht bis Zelle wo es am Anfang dies steht in Füllfarbe gelb und den nächsten Abschnitt mit der Füllfarbe grün darstellen. Dies soll immer abwechselnd bis letzte Zelle d...
Anzeige

Hallo Excelfreunde,
für mich eine unlösbare Aufgabe, aber hier werde ich immer geholfen.
Es geht um einen Kindergarten Flohmarkt. Das Excel-Programm läuft
ich möchte nur eine Verbesserung einfügen.
Es läuft wie folgt ab.
Wer verkaufen möchte bekommt eine (einmalige Id_Nr...

Hallo,
ich habe da ein Problem: In Spalte D von Zeile 9 bis 242 befinden sich weiße, braune und violette Zellen. Die violetten Zellen sollen nun gezählt werden. Die Stückzahl der violetten Zellen soll nun mittels Formel ermittelt werden.
Ich bitte um Hilfe.
Gruß EM
Anzeige

Hi,
ich such eine Möglichkeit per Formel (ohne VBA) in einer Zeile alle roten Zellen zu zählen. Die Zellen enthalten aber keine Werte.
Gruß
otto

hallo,
ich bräuchte mal eure hilfe...
und zwar würde ich gerne bereiche zählen lassen, die größer als 0 sind...
dabei liegen die Zellen die durchsucht werden sollen nicht direkt aneinander, sondern mit erheblichen zellenabständen.
also zum beispiel
zelle b9
zelle b59
...

Excel/VBA SoLaLa
Hi Exel/VBA Profis,
Ausgangspunkt: In den Zellen B3 bis U22 sind Buchstaben (immer nur 1 Buchstabe je Zelle!). Einige davon werden manuell auf Schriftfarbe ROT gesetzt.
Mein Problem: Wie erhalte ich die Summe der Zellen (Anzahl) im Bereich B3 bis U22 der aktiven Ta...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige