Aufaddieren der rot gefärbten Zahlen in einer Spalte

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: Aufaddieren der rot gefärbten Zahlen in einer Spalte

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

von andrel1967 » Di, 06.10.2009 16:29

Hi noch mal,

super, langsam komme ich mit eurer Hilfe ans Ziel ;-)
die gesamte Systematik meiner Tabellen umzubauen
hätte mir garnicht gefallen,
aber mit Basic zu spielen hat jetzt fast geklappt!

Danke Euch
Echt super!

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

von Gert Seler » Di, 06.10.2009 12:05

Hallo andrel,
VBA_Basic und Ooo_Basic können nicht miteinander. Aber in Ooo_Basic wird das ganze anders aufgebaut.
Ooo_Basic kann ebenso "Zellbereiche" ansprechen wie "Zellfarben" ändern.
Nur solltest Du wie schon weiter oben gesagt Deine Frage nochmals (leider) im "Basic/Java - Forum" einbringen.

Ich selbst suche bis heute jemanden, der mir erklärt, wie die mitgelieferten "Ooo_Basic_Module" zu einer "Anwendung"
z.B. "Jahreskalender" mit "Feiertagen für alle Bundesländer" zusammengesteckt werden.
Ich bring die Einzel-Module leider nicht zusammen.

Anderseits, hat man 15 Jahre lang mit "Excel" zusammengelebt, tut etwas "frisches" auch gut.


mfg
Gert

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

von komma4 » Di, 06.10.2009 11:44

andrel1967 hat geschrieben:Aber an Excel kommt Calc wahrscheinlich nicht ran.
8)
Je nachdem, wie man das verstehen möchte...


Natürlich kannst Du mit StarBasic die Schriftfarbe ermitteln und weiter verarbeiten, auch in einer benutzerdefinierten Funktion, die dann WAHR oder FALSCH zurück geben kann.
Wir wollten Dir "nur" helfen, das Ganze einfacher zu gestalten.

Informationen sind einfacher zu verarbeiten, wenn sie gesondert vorliegen (Hilfsspalte), und besser (optisch) zu erfassen, wenn sie aufbereitet wurden. Daraus resultiert die Trennung von Information und Darstellung. Du möchtest alles zusammen haben ... bitteschön

Damit Du nicht bei Excel bleiben musst - oder für andere Code-Suchende, hier eine kleine benutzerdefinierte Funktion:

Code: Alles auswählen

Function ZelleRot( sTabelle As String, dblZeile As Double, dblSpalte As Double ) 

If ThisComponent.Sheets().getByName( sTabelle ).getCellByPosition( dblSpalte, dblZeile ).CharColor = RGB(255,0,0) Then
 ZelleRot = TRUE
Else 
 ZelleRot = FALSE
End If

End Function
Es muss der Tabellenname und die Nummer der Zeile, dann Spalte übergeben werden (nicht: der null-basierte Index!, mit dem OOo-Basic intern arbeitet)


Der vorliegende Code fragt die Schriftfarbe "HELLROT" (OOo-Standardinstallation, RGB-Wert 255,0,0) ab - und funktioniert NUR, wenn die Schrift über FORMAT>Zelle...>Schrifteffekt>Schriftfarbe zugewiesen wurde - eine bedingte Formatierung wird dadurch nicht ausgewertet.

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

von andrel1967 » Di, 06.10.2009 11:02

@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!

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

von komma4 » Di, 06.10.2009 10:32

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

@clag: +1
@Gert: +1

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

von Gert Seler » Di, 06.10.2009 10:26

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

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

von clag » Di, 06.10.2009 08:56

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.

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

von andrel1967 » Di, 06.10.2009 08:10

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!

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

von turtle47 » Mo, 05.10.2009 19:59

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

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

von andrel1967 » Mo, 05.10.2009 18:38

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

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

von komma4 » Mo, 05.10.2009 17:54

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.

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

von andrel1967 » Mo, 05.10.2009 17:51

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) 5081 mal betrachtet

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

von Gert Seler » Mo, 05.10.2009 11:32

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

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

von andrel1967 » Mo, 05.10.2009 09:39

????
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ä.

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

von Gert Seler » Mo, 05.10.2009 09:16

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

Nach oben