Zählenwenn -je nach Formatvorlage- *******

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: Zählenwenn -je nach Formatvorlage- *******

Re: Zählenwenn -je nach Formatvorlage- *******

von penti » Di, 21.08.2007 18:23

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

Re: Zählenwenn -je nach Formatvorlage- *******

von Eia » Di, 21.08.2007 06:56

Stephan hat geschrieben: Die Farbe Deiner Zelle kommt durch eine bedingte Formatierung zustande?
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.
Habt Ihr schon geklärt, ob mit "Farbe" die Schrift- oder die Hintergurndfarbe gemeint ist?

mfG

Re: Zählenwenn -je nach Formatvorlage- *******

von turtle47 » Mo, 20.08.2007 21:53

Hallo Stephan,
penti hat geschrieben:Das Format der Zelle wird händisch zugewiesen.
in diesem Fall hätten die Makros ja funktioniert.
Vielen Dank für den für mich sehr wichtigen Hinweis:
Stephan hat geschrieben:Die Farbe Deiner Zelle kommt durch eine bedingte Formatierung zustande?
Man lernt eben immer noch dazu.

Schöne Grüße.

Jürgen

Re: Zählenwenn -je nach Formatvorlage- *******

von Stephan » Mo, 20.08.2007 20:50

bekomme bei Auslesen der Farben immer nur 255,255,225 ??
wahrscheinlich heißt die letzte Zahl auch 255 und ansonsten rate ich mal:

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: Erledigt: Zählenwenn -je nach Formatvorlage- *******

von Eia » Mo, 20.08.2007 19:58

penti hat geschrieben:an einigen Tagen eingefärbt
Was sind denn das für Einfärbungen? Vollkommen willkürlich?
mfG

Re: Erledigt: Zählenwenn -je nach Formatvorlage- *******

von turtle47 » Mo, 20.08.2007 19:51

penti hat geschrieben: bekomme bei Auslesen der Farben immer nur 255,255,225 ??
Dann hat die aktive Zelle auch keine Farbe!
Du musst in eine Zelle klicken, die Farbe enthält und dann das Makro FarbeAuslesen starten.

Jürgen

Erledigt: Zählenwenn -je nach Formatvorlage- *******

von penti » Mo, 20.08.2007 19:34

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

Re: Zählenwenn -je nach Formatvorlage- *******

von penti » Mo, 20.08.2007 19:27

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

Re: Zählenwenn -je nach Formatvorlage- *******

von turtle47 » Mo, 20.08.2007 19:01

Hallo Zusammen,

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
Viel Erfolg.

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

Re: Zählenwenn -je nach Formatvorlage- *******

von Eia » Mo, 20.08.2007 18:54

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.
Wahrscheinlich würde es mit einem Makro gehen, frag vielleicht mal im Basic-Forum nach.
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- *******

von penti » Mo, 20.08.2007 18:09

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

Re: Zählenwenn -je nach Formatvorlage- *******

von Eia » Mo, 20.08.2007 17:54

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

Zählenwenn -je nach Formatvorlage- *******

von penti » Mo, 20.08.2007 17:46

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

Nach oben