🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

farbig markierte Felder zählen

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
dropkicktobi
Beiträge: 59
Registriert: Fr 17. Aug 2012, 09:37

farbig markierte Felder zählen

Beitrag von dropkicktobi » Mi 20. Feb 2013, 13:46

Hi zusammen,

ich möchte gern zählen lassen, wieviel mit "x" markierte Zellen einer Farbe in einer Zeile sind. Es fällt mir schwer das Problem zu formulieren, deßhalb schaut bitte mal in die angehängte Datei.

Grüße
Tobias 8-)
Dateianhänge
TEST3x.ods
(9.79 KiB) 259-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2515
Registriert: So 10. Apr 2011, 10:10

Re: farbig markierte Felder zählen

Beitrag von F3K Total » Mi 20. Feb 2013, 22:30

Hi,
das geht per Makro etwa z.B. so

Code: Alles auswählen

Sub S_Count_colors
dim acolors (2,4) as variant
    acolors(0,0) = "Grün"
    acolors(0,1) = "Blau"
    acolors(0,2) = "Gelb"
    acolors(0,3) = "Rot"
    acolors(0,4) = "Weiss"
    acolors(1,0) = 44544
    acolors(1,1) = 39423
    acolors(1,2) = 15138560	
    acolors(1,3) = 16711680
    acolors(1,4) = -1   
    osheet = thiscomponent.sheets.getbyname("Test")
    orange = osheet.getcellrangebyname("B2:F7")
    oaddress = orange.rangeaddress
    nstartcolumn = oaddress.startcolumn
    nendcolumn = oaddress.endcolumn
    nstartrow = oaddress.startrow
    nendrow = oaddress.endrow
    for i = nstartrow to nendrow
        for j = nstartcolumn to nendcolumn
        ocell = osheet.getcellbyposition(j,i)
            for k = 0 to 4
                if ocell.cellbackcolor =  acolors(1,k) and ocell.formula = "x" then 
                acolors(2,k) = acolors(2,k)+1
                endif
            next k
        next j
        for l = 0 to 4
            otargetcell = osheet.getcellbyposition(8+l,i)
            otargetcell.value = acolors(2,l)
            acolors(2,l) = 0
        next l
    next i
End Sub
Siehe Beispiel
Dateianhänge
TEST3x.ods
(12.01 KiB) 314-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten