Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1300to1304
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

Zählenwenn "roter Rahmen"

Zählenwenn "roter Rahmen"
04.03.2013 13:04:56
Thomas
Hallo zusammen,
durch die Bedingte Formatierung werden mir in der Spalte A bestimmte Zelle mit einem roten Rahmen angezeigt. Bekomme ich das mit einer Formel hin, die Anzahl der roten Rahmen zu zählen?
Freundlicher Gruß
Thomas

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hä?
04.03.2013 13:10:02
Marc
Warum nimmst du nicht einfach die Formel, die in deiner Bedingten Formatierung drin steht?
Den anderen Weg müsste man über VBA programmieren...
Gruß, MCO

AW: Zählenwenn "roter Rahmen"
04.03.2013 13:20:07
Matze
HalloThomas,
wie lautet deine "Bedingungsformel" für den roten Rahmen?
Sehr umständlich dies selbst mit VBA zu lösen!
Matze

AW: Zählenwenn "roter Rahmen"
04.03.2013 13:41:15
Thomas
Hallo Matze,
Formel zur Ermittlung der zu formatiernenden Zelle verwenden
=WENN(UND(A5=HEUTE());C5="")
Formatierung roter Außenrahmen festgelegt.
Nun soll festgestellt werden, wie viele Zellen einen roten Rahmen haben.
Gruß
Thomas

Anzeige
am einfachsten mit Hilfsspalte ...
04.03.2013 13:43:36
Klaus
Hi,
schreibe zB in die freie Spalte Z .
Z5: =WENN(UND(A5=HEUTE();C5="");1;0)
und kopier runter, blende dann Z aus.
Die "Anzahl rote Rahmen" ist Summe(Z:Z).
Ich hab die Klammersetzung in deiner Formel korrigiert. War aber bestimmt nur ein Übertragungsfehler?
Grüße,
Klaus M.vdT.

AW: am einfachsten mit Hilfsspalte ...
04.03.2013 13:56:34
Thomas
Hallo,
ich habe den folgenden Code gefunden. Kann man statt der ColorIndex nicht auch den Rahmen hinterlegen?
Alternativ würde ich sonst die Zellen mit rot füllen anstatt mit einem Rahmen.
Gruß
Thomas
Sub rot_zaehlen()
anzahl = 0
For Each zelle In Range("A1:X100")
If zelle.Interior.ColorIndex = 3 Then
anzahl = anzahl + 1
End If
Next zelle
Cells(1, 2).Value = anzahl
End Sub

Anzeige
AW: am einfachsten mit Hilfsspalte ...
04.03.2013 14:02:01
Klaus
Kann man statt der ColorIndex nicht auch den Rahmen hinterlegen?
Alternativ würde ich sonst die Zellen mit rot füllen anstatt mit einem Rahmen.

Hi,
Excel unterscheidet leider zwischen "rot gefüllt" und "per bedingter Formatierung rot gefüllt".
Mach mal in einem leeren Blatt die Zelle A1 grün und gib dann ins Direktfenster ein
debug.Print range("A1").Interior.Color
Jetzt färb die Zelle A1 per bedingter Formatierung anders ein und gib nochmal den Befehl ins Direktfenster.
Siehst dus? Die Farbe hat sich - für VBA - nicht geändert!
Darum die Antwort: das geht schon, ist aber nicht so einfach wie du denkst. Nimm lieber die Formatierungsbedingung selbst (wie schon x-mal vorgeschlagen).
Grüße,
Klaus M.vdT.

Anzeige
AW: am einfachsten mit Hilfsspalte ...
04.03.2013 14:12:00
Thomas
Überzeugt.... :o)
Danke für eure Mühe, ich nehm die Hilfsspalte...
Danke an alle!

Halt dich an die Hilfsspalte...
04.03.2013 14:02:20
EtoPHG
Thomas,
Zellformatierungen durch bedingte Formatierungen sind in VBA nicht, bzw. nur äusserst schwierig und fehleranfällig, festzustellen! Ob Border oder Interior spielt dabei keine Rolle!
Gruess Hansueli

Alles richtig bis auf 'fehleranfällig', ...
04.03.2013 14:17:51
Luc:-?
ggf instabil wäre richtiger, Hansueli!
Aber wäre das nicht was für einen Problemlöser?! :->
Gruß Luc :-?

Luc>erkläre fehleranfällig vs. instabil :-(owT)
04.03.2013 15:09:42
EtoPHG

Deshalb, weil bei Calculation=xlAutomatic ...
04.03.2013 15:44:21
Ein
…ein per UDF ggf exakt ermitteltes aktuelles Format auf Grund der vielen weiteren zu beachtenden Gegebenheiten wie zB relative Adressierung und die daraus resultierende automatische Adressanpassung (übrigens auch bei Wiedergabe benannter Fmln auf diese Weise) uU zwischen dem Zellformat und dem des FormatCondition-Objekts, also zwischen Bedingung erfüllt und nicht erfüllt schwanken kann. Das Problem würde bei Aufruf der UDF in einer Subroutine bei gleichzeitiger Aktivierung der betroffenen Zelle entfallen.
Hinzu kommen aber inzwischen (ab Xl12) leider MS-pgmierungsbedingte Veränderungen bei den Rückgabewerten von Mehrfach- und nicht vorhandenen (Bedingt-)Formatierungen, so dass eine automatisierte Auswertung für alle Versionen noch komplizierter geworden ist, da große PgmTeile nun in Varianten (per bedingter Kompilierung) angelegt wdn müssen (wenn man nicht für jede xlVs ab 12 ein eigenes Pgm schreiben will). Das ist zwar schon wg des neuen Farbschemas erforderlich, geht hier aber noch deutlich tiefer und betrifft nicht nur die äußerlich veränderte Darstellung.
Das ist zwar alles noch beherrschbar, verursacht aber für einen einzelnen Pgmierer einen stark erhöhten Aufwand, der in keinem rationalen Verhältnis zu den Möglichkeiten von MS steht. Es ist jedenfalls unsäglich, wenn von Version zu Version nicht nur (verkraftbare) neue Objekte eingeführt wdn, sondern auch noch in bereits Vorhandenes auswertungsrelevant eingegriffen wird. Da macht das Alles irgendwann keinen Spaß mehr. Aber viell ist das ja auch die unterschwellige Absicht von MS… :-/
Gruß Luc :-?
PS: Es ist natürlich klar, dass eine „exakte“ Formatdarstellung natürlich eine Grundvoraussetzung haben muss → die Darstellung einer nur lokal vorliegenden Fml in US-Original-Notation! Hier nur soviel – das ist 1. möglich und 2. einfacher als die Mehrheit glaubt. Es gibt aber auch eine Möglichkeit, die lokale Fml direkt auszuwerten. Im Zusammenspiel mit dem speziellen BedingtFormat wird die aber beinahe komplizierter als die reine VBA-Lösung und ist auch nicht flexibel genug… ;-)

Anzeige
Verd... Falle wieder mal! :-[ owT
04.03.2013 15:48:34
Luc:-?
:-?

AW: Verd... Falle wieder mal! :-[ owT
04.03.2013 15:53:23
Klaus
erwischt! Ich wusste, dass das unten von dir kam!
Grüße,
Klaus M.vdT.

Na dann iss ja nich schlimm! ;-)) orT
04.03.2013 15:56:32
Luc:-?
Bot sich nur so schön an! Passt hier aber kaum! :-|
Gruß Luc :-?

Nochwas, falls MS inzwischen ...
04.03.2013 15:54:25
Luc:-?
…auf die Idee gekommen sein sollte, wie bei Gültigkeitsbedingungen einen Erfüllungsindikator beizusteuern, ist ab dieser XlVs die ganze Diskussion natürlich hinfällig, denn dann würde's wesentl einfacher wdn. ;-)
Luc :-?

Ergänzung: Im AutoKalkModus betrifft ...
05.03.2013 10:14:30
Luc:-?
…das dann vor allem BedingtFormatAuswertungen eines Blattes per Fml mit UDF auf einem anderen.
Mit den neuen BedingtFormatTypen ab Xl12 wird's dann ganz verrrückt, da es hier ja gar keine Bedingung ieS gibt, sondern alles von einem Vgl der Werte einer Matrix untereinander abhängt. Dass dabei zB die richtige Farbmischung ausgerechnet bzw ein Balken in eine TextSymbolMischung umgerechnet wdn müsste, macht die Sache nicht gerade leichter.
Ciao, bin dann mal wech…!
Luc :-?

Anzeige
Unter den XlVss ab 12 ist es ohne ...
09.03.2013 13:21:09
Luc:-?
…einen Gültigkeitsindikator ala Validation-Objekt ungleich schwerer, FormatCondition-Objekt-Fmln mit relativer Adressierung auszuwerten, denn es hat den Anschein, als ob die Fml, ähnlich einer MatrixZellFml über alle Anwendungszellen innerhalb des neu eingeführten Geltungsbereichs gleich bleibt. Welche Adresse dann wirklich benutzt wird, scheint vom Offset der jeweiligen Zelle innerhalb desselben abzuhängen. Die Folge wäre, dass man das, was man sonst nur bei Auswertung der Bedingung mittels UDF in einer ZellFml tun müsste (nämlich die Rückführung der an den AuswertungsfmlStandort angepassten RelativAdressen anhand des Offsets derselben zum Bedingungsstandort), nun wohl generell (angepasst analog) tun muss, was die Sache nicht gerade erleichtert.
Zumindest für diesen Zweck handelt es sich bei der Neukonzeption des FormatCondition-Objekts dann wohl eher um eine „Verschlimmbesserung“ (wie leider allzu oft und mittlerweile von MS gewohnt). Da die weltweiten Office-Foren wahrscheinlich keine nennenswerten VBA-Aktivitäten in dieser Richtung erkennen ließen, meinte man dort wohl, eine Radikallösung riskieren zu können, ohne allzuviele User zu verprellen.
Ein weiterer Punkt ist dann natürlich noch die Möglichkeit des Nicht-Stoppens nach der 1. erfüllten Bedingung. Jetzt müssen in diesen Fällen stets alle Bedingungen durchlaufen und eine Entscheidung darüber getroffen wdn, welche Formate sich ggseitig ausschließen (dann wirkt wahrscheinlich nur das letzte, quasi als Korrektur des Bedingungsbildungsfehlers) und welche kombiniert wdn können.
Naja, und dann können Geltungsbereiche ja auch noch den Charakter einer Mehrfachauswahl-Adress-Angabe haben…
Folglich wird dadurch der pgmtechnische Aufwand mindestens doppelt so hoch wie zuvor.
Luc :-?

Anzeige
Die gute Nachricht ist, dass auch die ...
10.03.2013 04:45:25
Luc:-?
…relativen Adressen in BedingtFormatFmln in/ab(?) Xl12 nicht mehr an den ZellFmlStandort der auswertenden UDF angepasst wdn.
Die schlechte ist, dass sie tatsächlich auch von Zelle zu Zelle nicht mehr angepasst wdn, sondern für den ganzen Geltungsbereich unverändert bleiben. Die RelativAdressAnpassung muss dann selber vorgenommen wdn, bevor die BedFmtFmln sinnvoll ausgewertet wdn können. Hierzu kann der jeweilige Offset wohl nur aus der Adresse der Startzelle des Geltungsbereichs im Vgl mit der jeweiligen Standortzelle .FormatConditions(n).Parent.Address emittelt wdn. Der Geltungsbereich selbst lässt sich anscheinend nur modifizieren, nicht oW ermitteln.
Luc :-?

Anzeige
Ergänzung/Korrektur: Natürlich lässt sich ...
10.03.2013 13:52:55
Luc:-?
…auch der Geltungsbereich auslesen — als Range-Objekt, nicht als Adress-String, was ich zuvor nicht beachtet hatte. Dadurch lässt sich die für die Offset-Ermittlung der Relativ­Adressen erforderliche Anfangs­zelle idR aus diesem ermitteln und muss nicht separat angegeben wdn.
Da unter Xl12 (und wahrscheinlich auch den Folgeversionen) immer noch kein Erfüllungs­indikator existiert, müssen die Bedingungs­fmln separat überprüft wdn, indem man ggf zuvor die ermittelten Offset-Werte zur Feststellung der real für die jeweilige Parent-Zelle geltenden Relativ­Adressen der Bedingt­FmtFmln benutzt. Die idR auf die 1.Parent-/Geltungs­bereich­Zelle bezogenen ursprgl Relativ­Adressen müssen gg die ermittelten ausge­tauscht wdn. Die Fmln können erst danach sinnvoll evaluiert wdn. Bei der Ermittlung des real sichtbaren Zell­formats können neben der lfdNr auch die Format­Condition-Eigenschaften .Priority und wie bereits erwähnt .StopIfTrue eine Rolle spielen.
Mit einer relativ einfachen und schnell geschriebenen UDF lässt sich bspw die Bedingungsfml einer Tages­leiste mit WE-Färbung wie folgt ermitteln…
Mit der MxFml {=MTRANS(GetFConForm(F6:AJ6;1;1))} wdn die BedFmt­Fmln dieser Kopfzeile in einer Spalte (vorläufig) als =WEEKDAY(F6,2)>5 [2/3/0/Offset(0,0)] ausgegeben, wobei die Angaben in den eckigen Klammern Typ/Prio­rität/StopBei­Erfüllung bedeuten. Die Offset-Angabe reicht hierbei dann bis Offset(0,30). Die Argumente der UDF GetFConForm meinen…
Arg1: Bereich, für den die BedFmtFmln ermittelt wdn sollen
Arg2: BedNr, lfdNr der zu ermit­telnden Bedingungsfml (fehlt/0 ⇒ alle)
Arg3: NLokal, fehlt/0 ⇒ nur lokales Original, (-)1 ⇒ in US-Notation
Die UDF fktioniert (vorerst) nur für Typ2 (xlExpression ). Typ1 (xlCellValue) kann aber im Prinzip (fast) genauso behandelt wdn, wenn dessen Angaben zuvor in eine Gesamt­Fml umgewandelt wurden ([nicht]zwischen unter Zusatz der Fktt AND [OR] – für reine Lokal­Darstel­lung natürl UND [ODER] ). Alle anderen (neuen) Typen wurden vorerst nicht berück­sichtigt.
Luc :-?

Anzeige
AW: Zählenwenn "roter Rahmen"
04.03.2013 13:57:08
hary
Hallo Thomas
Tabelle1
 ABCD
104.03.2013     
204.03.2013  12:00 
304.03.2013     
404.03.2013  13:00 
504.03.2013     
6       
7      3
Bedingte Formatierung und Schriftart werden in dieser Tabelle nicht dargestellt

verwendete Formeln
Zelle Formel Bereich
A1 =HEUTE() 
A2 =HEUTE() 
A3 =HEUTE() 
A4 =HEUTE() 
A5 =HEUTE() 
D7 =SUMMENPRODUKT((A1:A5=HEUTE())*(C1:C5="")) 

bedingte Formatierung
Zelle   Typ   Operator   Formel1   Formel2   Format   Unterstrichen   Schrift- farbe Muster   Muster- farbe
A1:A51.Bed.: Formel ist   =WENN(UND(A1=HEUTE());C1="")   Test        
Rahmen
    Links     Rechts     Oben     Unten  
 Zelle   Nr. Bed.    Linienart     Farbe     Linienart     Farbe     Linienart     Farbe     Linienart     Farbe  
A1:A51.Bed. durchgezogen  durchgezogen  durchgezogen  durchgezogen 
Die Bedingungen wurden mit Excel-Version ab 2007 ausgelesen
Durch die veränderte Bedingte Formatierung kann es vorkommen, dass Bedingungen falsch ausgelesen werden


Tabellendarstellung in Foren Version 5.30


gruss hary

Anzeige
DIE Fml ist keine ordentliche ...
04.03.2013 14:13:28
Luc:-?
…BedingtFormatFml, Thomas,
denn die kommen idR ohne WENN aus, da die Formatierung nur auf WAHR positiv reagiert. Es muss also immer eine Fml sein, die WAHR bzw FALSCH ergibt, sonst wird Xl das Ergebnis von sich aus als Wahrheitswert deuten (0⇒FALSCH, ≠0⇒WAHR). Wertzu­weisungen können nicht vorgenommen wdn.
Das wäre hier bei A5=HEUTE() und C5="" → WENN(WAHR;WAHR;FALSCH), also WAHR;
bei ersterem WAHR und Letzterem FALSCH → WENN(WAHR;FALSCH;FALSCH), also FALSCH;
außerdem noch → WENN(FALSCH;WAHR;FALSCH) und → WENN(FALSCH;FALSCH;FALSCH), also FALSCH.
Somit erhältst du zwar das richtige Format, die Fml ist aber trotzdem Käse und in der von dir gewünschten Auswertung so nicht brauchbar (vgl Klaus AW).
Die ist überhpt nur deshalb so einfach machbar, weil es gerade eine Bedingung ist, die das zu zählende Verhalten hervorrufen soll. Alles darüber hinaus, wie bspw das Feststellen aller aktuellen Zellformate (aus BedingtFormat), um sie für platzsparende Archivierung permanent zu machen oder sie automatisiert in HTML kodieren zu können, wäre auf diese Weise idR mit einem viel zu hohen Aufwand verbunden. Ein reiner Automatismus (der immer und überall fktioniert) ist zwar möglich, aber für die allermeisten Nutzer lokaler XlVersionen, auch bei guten VBA-Kenntnissen, quasi unerreichbar. Hinzu kommt, dass die MS-Crew auf dieser Strecke fleißig am Erweitern ist. Das mag das Ganze irgendwann erleichtern — bis jetzt hat sie das aber eher erschwert.
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge