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) 311-mal heruntergeladen
Hallo,
anbei ein Beispiel, wie man es per benutzerdefinierter Funktion lösen kann.
[code]
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[/code]
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.