Aufaddieren der rot gefärbten Zahlen in einer Spalte

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

andrel1967
Beiträge: 7
Registriert: So, 04.10.2009 22:27

Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von andrel1967 »

Hi,

steige gerade von XP auf MAC um und wollte meine Excel Sheet samt der kleinen Funktion hier
dort mit Open Office weiterführen.

So ging´s bei Excel...

Function FarbSumme(Bereich As Range)
FarbSumme = 0
For Each Zelle In Bereich
If Zelle.Font.ColorIndex = 3 Then
FarbSumme = FarbSumme + Zelle.Value
End If
Next
End Function
...aber bei OpenOffice geht´s so nicht. Auch nicht wenn aus Zelle Cell wird und Bereich dann Rage heißt.

Habt Ihr da mal n Tipp!!!???
Eddy
********
Beiträge: 2781
Registriert: So, 02.10.2005 10:14

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von Eddy »

Hai andrel,
Habt Ihr da mal n Tipp!!!???
im Unterforum OOo Basic und Java fragen...

Mit getippten Grüßen

Eddy
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von komma4 »

Willkommen im Forum.
andrel1967 hat geschrieben:Habt Ihr da mal n Tipp!!!???
Umbauen!

Nehme die Funktion "bedingte Formatierung" zum Einfärben der Zellen und die gleiche Bedingung zum Zählen - dann braucht es kein Makro.


Geht das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von Gert Seler »

Hallo andrel,
erstens versteht OpenOffice kein VBA_Basic. Zweitens hat Eddy nur insoweit Recht, das für "Ooo_Basic" ein anderes Forum
zuständig ist (siehe Forumsübersicht).
Drittens die Bedingte Formatierung mit Änderung der Zellfarbe oder Farbe der Schrift wird in "OpenOffice_Calc" anders
gehandhabt. Hier werden "ZellVorlagen" erstellt und mit der "Bedingten Formatierung" verknüpft. Siehe :


http://www.ooowiki.de/CalcFormatBedingt

Bitte durchlesen.

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
andrel1967
Beiträge: 7
Registriert: So, 04.10.2009 22:27

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von andrel1967 »

????
mei, kein leichter Umstieg ;-)

Ich hab in einer Spalte ca 20 Zeilen automatisch gefärbter Zahlen die ich in z.B. B25 summiere.
Im laufe des Monats (Zahlungsein- bzw ausgänge) werden dies Zelle auf rot gesetzt und in B26 addiert.
In B27 steht dann die Summe aus B25 und B26, so dass am Ende des Monats idealerweise B25 Null ist, B26 (die rote Zahlen)
und B27 gleich sind.
Eigentlich total einfach und übersichtlich, bei Excel kein Problem.
Allerdings hat das nach meinem Verständnis nix mit bedingter Formatierung zu tun, da ich die Zahlen ja selber
"färbe", sondern eher mit bedingter Summierung oä.
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von Gert Seler »

Hallo andrel,
"komma4" hat schon einen Vorschlag mit "Bedingter Formatierung" und "Addition" der Zahlen geliefert.
Ich hab aber noch eine Frage : "Worin unterscheiden sich die Zahlenwerte (rot versus standard-Format)."
Werden hier nur positive und negative Werte (rot) addiert ?
Dann geht es auch über die normale "Benutzerdefinierte Formatierung." Wie im "wiki-Beispiel" dargestellt.
Siehe :
Negative Werte rot anzeigen
oder
Plus- und Minuszeichen vor den Zahlen
Bei der "Addition" von Plus- (+) & MinusWerten (-) werden mit der Funktion "SUMME" die Minuswerte automatisch von den Pluswerten
substrahiert. Mit Währungseinheiten folgende " Benutzerdefinierte Formatierung " Format ---->Zellen...Kategorie=Währung;
Formatcode (Benutzerdefiniert) = #.##0,00 [$€-407];[ROT]-#.##0,00 [$€-407]


mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
andrel1967
Beiträge: 7
Registriert: So, 04.10.2009 22:27

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von andrel1967 »

Hi Gert,

ne, Rot ist rein zufällig die Markierung für bereits getätigte Zahlungen etc.
Es wird also im IST nur rot aufaddiert, hat also nichts mit bedingter Formatierung zu tun.
Die sollen sich ja nicht selber rot färben, das mach ich, aber die Summe soll sich daraufhin ändern ?!

Gruß und Danke
Dateianhänge
Bild 2.png
Bild 2.png (21.55 KiB) 5068 mal betrachtet
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von komma4 »

Dann ändere den Ansatz:

füge eine Spalte "bezahlt" hinzu, schreibe dort ein "X", ein "ja" oder das Datum der Zahlung rein.
Dann kannst Du mit einer SUMMEWENN-Formel addieren.
Eine Färbung erhälst Du wieder über die bed. Formatierung.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
andrel1967
Beiträge: 7
Registriert: So, 04.10.2009 22:27

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von andrel1967 »

Hi Komma4,

Danke Dir für den Tipp.
So habe ich es am Anfang gemacht, aber im Laufe der Jahr ist das Ding recht komplex geworden
und bei solchen Sachen helfen dann eben Makros oder VBAs enorm.
Ist ja auch echt nicht soo schwer.
Wundere mich nur dass das in OO nicht möglich sein soll ?!
Das Prog kann doch Basic, oder?


Mit welcher Funktion bekomm ich den raus, ob die Zahl/Zelle gefärbt ist oder nicht.
Oder gibt´s n Befehl der mir den Farbwert rausgibt z.B. interior.color(B17)= [ROT] oder Farbe(B17)=Falsch
Gibt´s sowas in Calc?
Dann könnte man mit Summewenn bei Kriterien vielleicht was machen

Grüße
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von turtle47 »

Hi,
andrel1967 hat geschrieben:Mit welcher Funktion bekomm ich den raus, ob die Zahl/Zelle gefärbt ist oder nicht.

Code: Alles auswählen

function oWert(vonZeile , bisZeile, tab, oSpalte) as integer
	osheet = thisComponent.sheets( tab -1 )
	oCol = oSpalte -1
	sRow = vonZeile -1
	eRow = bisZeile -1
	oWert = 0
	for i = sRow to eRow
	if osheet.getcellbyposition(oCol,i).CharColor  = RGB(255, 0, 0) then
	oWert = oWert + osheet.getcellbyposition(oCol,i).value
	end if
	next i
End function
In die Zielzelle schreibst Du für Zeile 1 bis 10, Tabelle1, Spalte1:

Code: Alles auswählen

=OWERT(1;11;1;1)
Aktualisieren musst Du allerdings manuell mit Strg + Shift + F9

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
andrel1967
Beiträge: 7
Registriert: So, 04.10.2009 22:27

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von andrel1967 »

Moin Jürgen,

vielen Dank für die Mühe, aber dein Skript bezieht sich ja nur auf einen kleine definierten Bereich.
Ich hab aber zig Spalten. Brauch was also allgemeines
Gibt es denn nicht eine Abfrage des Zellwertes...ist in Zelle xy Farbe -> Falsch oder Wahr oder so ähnlich.
Dann komm ich wenigstens mit Summewenn () weiter.

schönen Tag Euch!
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von clag »

Hallo andrel1967

auch wenn ich Gefahr laufe mich hier im Forum unbeliebt zu machen (wenn ich es nicht schon bin) :lol:

muss ich dir aus meiner Umstiegserfahrung Ecel/OOo berichten,
wenn du von langjähriger Excel Nutzung auf OOo umsteigst wirst du an etlichen Stellen Funktion vermissen die du bisher gewohnt warst........
Wenn du ein Fan von Diagrammen bist wirst du auch noch ein paar mal trocken schlucken.
Speziell der Umgang mit Farben in/für Zellen und damit verknüpfte Aktionen liegt OOo nicht

Was sich bei mir ersatzweise bewährt hat sind Hilfszellen in der Art wie es
komma4 hat geschrieben:füge eine Spalte "bezahlt" hinzu, schreibe dort ein "X", ein "ja" oder das Datum der Zahlung rein.
Dann kannst Du mit einer SUMMEWENN-Formel addieren.
Eine Färbung erhälst Du wieder über die bed. Formatierung.
beschrieben hat

speziell in diesem Fall ist die Aktion Zellen Excel 1. einfärben 2. zuordnen" nur umgedreht in OOo 1. zuordnen 2. einfärben
und wenn du die Hilfszellen erst einmal eingebaut hast ist der Zugriff auf die Zuordnung sogar schneller.
Außerdem kann man dann mit den HilfsZellen auch noch mehr anstellen zB
x = rot = geplant
g = grün = genehmigt
b = gelb = begonnen
a = blau = abgeschlossen

Mit OOo muss man für einige Aktionen umdenken und nach neue Lösungswege suchen !
Aber dabei hilft dieses Forum meistens ausgesprochen schnell und sachkundig.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von Gert Seler »

moin Andrel,
Deine Antwort an Jürgen :
vielen Dank für die Mühe, aber dein Skript bezieht sich ja nur auf einen kleine definierten Bereich.
Ich hab aber zig Spalten. Brauch was also allgemeines
Würdest Du uns denn endlich verraten, welchen Sinn & Zweck die Tabelle hat und was da berechnet werden soll ?
Antwort zum 2ten Satz : Eine Tabelle in Ooo_Calc hat nun mal mindestens 256 Spalten oder mehr und ebenso 65.500 Zeilen.
Der Vorschlag von "komma4" "Neue Spalte "bezahlt" einfügen und "xen" ist vollkommen richtig.
Mit der Formel : =WENN(UND(A2<>"";A2<0);A2;"")
werden Minusbeträge automatisch in die Spalte "Bezahlt" übernommen.
Ist auch übersichtlicher.
@ clag : Ist ein sehr guter Beitrag.

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von komma4 »

Den letzten beiden Beiträgen ist nichts hinzuzufügen.

@clag: +1
@Gert: +1
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
andrel1967
Beiträge: 7
Registriert: So, 04.10.2009 22:27

Re: Aufaddieren der rot gefärbten Zahlen in einer Spalte

Beitrag von andrel1967 »

@clag

vielen Dank für den Beitrag. Arbeite seit über 15 Jahren intesiv mit Excel und werde
es wohl zukünftig auch weiter verwenden.
Eine einfache Funktion "addiere DIE Zahlen einer Spalte die ROTgefärbt sind" kann Calc wohl nicht
und der Tipp mit der Hiflsspalte ist ja nett, aber das ist Excel ausm vorigen Jahrhundert.
Nicht bös gemeint!

@Gert
bitte lies Dir den Beitrag 5 noch mal durch, ich denke da steht meine Intension deutlich drin, oder?
Eine Spalte mit Zellen "normaler" Farbe wird summiert in Zelle X. Wenn ein Wert in dieser Spalte
von mir ROT gemacht wird (sprich Zahlung getätigt),wird sie eben in der Zeile darunter summiert.
Somit habe ich den Überblick über die bereits bezahlten Gelder vs Plan. Und zwar in einer Spalte!

Einfach, übersichtlich und ich arbeite seit einigen Jahren mit diesem Sheet und habe wirklich keine
Lust die vergangenen Jahre mit Hiflsspalten zu versehen.

Die Frage war ja nur, kann Calc so n VBA von Excel, muss man es ein wenig umbauen, gibt´s n anderen Syntax usw.

Aber an Excel kommt Calc wahrscheinlich nicht ran.

Danke für die Hilfen

Ciao


@ Jürgen

vielen Dank für das Makro...ist ein sehr guter Ansatz und ich versuche es "allgemein" umzuschreiben, damit ich nicht für jedes Arbeitsblatt eine neue Funktion einfügen muss. Hat sehr geholfen!
Antworten