Zählenwenn -je nach Formatvorlage- *******
Moderator: Moderatoren
Zählenwenn -je nach Formatvorlage- *******
Hallo und guten Tag,
in einer Tabelle möchte ich nur diejenigen Werte von Zellen zählen, wenn deren Vorlage z. B. grün ist. Ich komme aber nicht weiter, Zählenwenn scheint für solche Fälle nicht gedacht zu sein.
Die Hilfe bietet hierzu keine Unterstützung und hier im Forum finde ich auch nichts.
Hat jemand eine Idee?
Vielen Dank und noch einen schönen Abend
Gruß
penti
in einer Tabelle möchte ich nur diejenigen Werte von Zellen zählen, wenn deren Vorlage z. B. grün ist. Ich komme aber nicht weiter, Zählenwenn scheint für solche Fälle nicht gedacht zu sein.
Die Hilfe bietet hierzu keine Unterstützung und hier im Forum finde ich auch nichts.
Hat jemand eine Idee?
Vielen Dank und noch einen schönen Abend
Gruß
penti
Win2000, OpenOffice 3.2
Re: Zählenwenn -je nach Formatvorlage- *******
Nicht nur ZÄHLENWENN.
Man kann generell mit Calc-Funktionen keine Vorlagen abfragen (Nur zuweisen).
Auf das Format einer Zelle kann man sich mit =ZELLE("FORMAT";D1) beziehen - wobei dabei nur eine begrenzte Anzahl von Zahlenfromaten abgefragt werden kann (Details im Hilfetext) und auch das Aktualisieren hat seine Tücken.
Aber wie bekommen die Zellen denn ihre Vorlage? Falls diese per "Bedingte Formatierung" zustande kommt, könntest Du ja die gleichen Bedingungen auch für die Zellformel verwenden.
mfG
Man kann generell mit Calc-Funktionen keine Vorlagen abfragen (Nur zuweisen).
Auf das Format einer Zelle kann man sich mit =ZELLE("FORMAT";D1) beziehen - wobei dabei nur eine begrenzte Anzahl von Zahlenfromaten abgefragt werden kann (Details im Hilfetext) und auch das Aktualisieren hat seine Tücken.
Aber wie bekommen die Zellen denn ihre Vorlage? Falls diese per "Bedingte Formatierung" zustande kommt, könntest Du ja die gleichen Bedingungen auch für die Zellformel verwenden.
mfG
Re: Zählenwenn -je nach Formatvorlage- *******
Hallo Eia,
Danke für den erhellenden Hinweis.
Das Format der Zelle wird händisch zugewiesen. Daher habe ich auch die Notwendigkeit, über eine Funktion zählen zu müssen, wenn ich das nicht auch noch händisch machen will.
Gruß
penti
Danke für den erhellenden Hinweis.

Das Format der Zelle wird händisch zugewiesen. Daher habe ich auch die Notwendigkeit, über eine Funktion zählen zu müssen, wenn ich das nicht auch noch händisch machen will.
Gruß
penti
Win2000, OpenOffice 3.2
Re: Zählenwenn -je nach Formatvorlage- *******
Wahrscheinlich würde es mit einem Makro gehen, frag vielleicht mal im Basic-Forum nach.penti hat geschrieben:Das Format der Zelle wird händisch zugewiesen. Daher habe ich auch die Notwendigkeit, über eine Funktion zählen zu müssen, wenn ich das nicht auch noch händisch machen will.
Ansonsten könnte ein Trick helfen:
Angenommen, Deine Daten stehen in Tabelle1
Jetzt schreibe in Tabelle2.A1:
=ZELLE("FORMAT";Tabelle1.A1)
und kopiere diese Formal in einen Bereich, der mindestens gleich gross ist wie Dein Zellbereich in Tabelle 1.
Angenommen, Du willst alle Zellen zählen, welche die Vorlage "BLAU" haben. Dann änderst Du diese Vorlage vorübergehend auf ein Zahlenformat mit z.B. 8 Nachkommastellen (in der Annahme, dass Du sonst so ein Format nicht benutzt. Jetzt steht in Tabelle2 in allen Zellen, deren Pendant in Tabelle1 diese Vorlage hat, "F8" und das kannst Du ja zählen.
Das ist aber nur eine Variante, wenn Du einmalig sowas auswerten musst. Für regelmässiges Arbeiten eignet sich das sicher nicht.
mfG
Re: Zählenwenn -je nach Formatvorlage- *******
Hallo Zusammen,
ein Makro könnte folgendermaßen aussehen:
Viel Erfolg.
Jürgen
Edit: Die Farbe (RGB) einer aktiven (selektierten) Zelle bekommst Du mit:
ein Makro könnte folgendermaßen aussehen:
Code: Alles auswählen
Sub Farben_zaehlen
oDoc = thisComponent
oSheet = oDoc.sheets(0) 'erstes Tabellenblatt
oCellRange = osheet.getCellRangeByName("A1:K9") 'zu prüfender Zellbereich
x = 0
y = 0
'auslesen der Eckpunkte
iErsteSpalte = oCellRange.rangeAddress.startColumn
iErsteZeile = oCellRange.rangeAddress.startRow
iLetzteSpalte = oCellRange.rangeAddress.EndColumn
iLetzteZeile = oCellRange.rangeAddress.EndRow
For i = 0 to iLetzteZeile-iErsteZeile
For m = 0 to iLetzteSpalte-iErsteSpalte
oCell=oCellRange.getCellByPosition(m,i)
if oCell.Cellbackcolor = RGB (255, 0, 0) then ' Farbe rot
x = x + 1
end if
if oCell.Cellbackcolor = RGB (0, 0, 255) then ' Farbe blau
y = y + 1
end if
next m
next i
msgbox ("Anzahl rote Zellen: " & x & CHR (13) & "Anzahl blaue Zellen: " & y ,"68","Farben zählen" )
End Sub
Jürgen
Edit: Die Farbe (RGB) einer aktiven (selektierten) Zelle bekommst Du mit:
Code: Alles auswählen
Sub FarbeAuslesen
odoc=thiscomponent
oSheet = ThisComponent.CurrentController.getActiveSheet()
oZelle=oDoc.getCurrentSelection() 'selektierte Zelle
farben = oZelle.CellBackColor
f= "RGB-Farben: " & red(farben) &"," & green(farben) & "," & blue(farben)
msgbox f
end sub
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Zählenwenn -je nach Formatvorlage- *******
Hallo,
vielen Dank für die Antworten.
@Eia
Du hast Recht, das eignet sich sehr gut, wenn das Auszählen nur hin und wieder durchgeführt werden muss. Ich möchte das aber regelhaft haben.
@Jürgen
Gerade wollte ich fragen, wie ich die RGB Farben herausfinden kann. Aber Du bist mit Deinem 2ten Posting schneller gewesen. Teste es mal aus. Dankeschön.
Gruß
penti
vielen Dank für die Antworten.
@Eia
Du hast Recht, das eignet sich sehr gut, wenn das Auszählen nur hin und wieder durchgeführt werden muss. Ich möchte das aber regelhaft haben.
@Jürgen
Gerade wollte ich fragen, wie ich die RGB Farben herausfinden kann. Aber Du bist mit Deinem 2ten Posting schneller gewesen. Teste es mal aus. Dankeschön.
Gruß
penti
Win2000, OpenOffice 3.2
Erledigt: Zählenwenn -je nach Formatvorlage- *******
Hallo Jürgen,
bekomme bei Auslesen der Farben immer nur 255,255,225 ??
Mittlerweile habe ich mir beholfen und realisiere das über eine Hilfstabelle und habe als Ergebnis den Kalender, an einigen Tagen eingefärbt und erhalte monatsweise die Anzahl der eingefärbten Tage. Das stellt mich zwar nicht zufrieden, weil es über eine Hilfstabelle gehen muss, ist aber besssr als händisch auszählen zu müssen.
Dennoch vielen Dank.
Gruß
penti
bekomme bei Auslesen der Farben immer nur 255,255,225 ??
Mittlerweile habe ich mir beholfen und realisiere das über eine Hilfstabelle und habe als Ergebnis den Kalender, an einigen Tagen eingefärbt und erhalte monatsweise die Anzahl der eingefärbten Tage. Das stellt mich zwar nicht zufrieden, weil es über eine Hilfstabelle gehen muss, ist aber besssr als händisch auszählen zu müssen.
Dennoch vielen Dank.
Gruß
penti
Win2000, OpenOffice 3.2
Re: Erledigt: Zählenwenn -je nach Formatvorlage- *******
Dann hat die aktive Zelle auch keine Farbe!penti hat geschrieben: bekomme bei Auslesen der Farben immer nur 255,255,225 ??
Du musst in eine Zelle klicken, die Farbe enthält und dann das Makro FarbeAuslesen starten.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Erledigt: Zählenwenn -je nach Formatvorlage- *******
Was sind denn das für Einfärbungen? Vollkommen willkürlich?penti hat geschrieben:an einigen Tagen eingefärbt
mfG
Re: Zählenwenn -je nach Formatvorlage- *******
wahrscheinlich heißt die letzte Zahl auch 255 und ansonsten rate ich mal:bekomme bei Auslesen der Farben immer nur 255,255,225 ??
Die Farbe Deiner Zelle kommt durch eine bedingte Formatierung zustande?
Falls ja, ist das Makro nicht geeignet diese Farbe zu lesen.
Du müßtest dann die bedingte Formatierung auslesen, dort nachschauen welche Formatvorlage gilt und dort schauen wie die Farbe ist.
Gruß
Stephan
Re: Zählenwenn -je nach Formatvorlage- *******
Hallo Stephan,
Vielen Dank für den für mich sehr wichtigen Hinweis:
Schöne Grüße.
Jürgen
in diesem Fall hätten die Makros ja funktioniert.penti hat geschrieben:Das Format der Zelle wird händisch zugewiesen.
Vielen Dank für den für mich sehr wichtigen Hinweis:
Man lernt eben immer noch dazu.Stephan hat geschrieben:Die Farbe Deiner Zelle kommt durch eine bedingte Formatierung zustande?
Schöne Grüße.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Zählenwenn -je nach Formatvorlage- *******
Wenn dem so wäre, bräuchte man doch gar kein Makro, sondern könnte die gleiche Bedingung zum Zählen anwenden, welche man auch für die Zuordnung der bedingten Formatierung benutzt.Stephan hat geschrieben: Die Farbe Deiner Zelle kommt durch eine bedingte Formatierung zustande?
Habt Ihr schon geklärt, ob mit "Farbe" die Schrift- oder die Hintergurndfarbe gemeint ist?
mfG
Re: Zählenwenn -je nach Formatvorlage- *******
Hallo Eia,
der Hintergrund der Zelle ist händisch eingefärbt also ohne bedingte Formatierung.
Dass das Makro nicht funktionierte lag einfach daran, dass die Zelle beim Ausführen wohl angeklickt gewesen war aber nicht markiert. Nachdem die Zelle markiert war, klappte auch das Makro.
Noch einmal allen ein herzliches Dankeschön für die Hilfestellung!
Gruß
penti
der Hintergrund der Zelle ist händisch eingefärbt also ohne bedingte Formatierung.
Dass das Makro nicht funktionierte lag einfach daran, dass die Zelle beim Ausführen wohl angeklickt gewesen war aber nicht markiert. Nachdem die Zelle markiert war, klappte auch das Makro.
Noch einmal allen ein herzliches Dankeschön für die Hilfestellung!
Gruß
penti
Win2000, OpenOffice 3.2