OpenOffice 3.3.0 Calc - Berechnungen

Hallo,

irgendwie komme ich bei Calc nicht so zurecht. Ich habe folgende Probleme:

-> Wie kann ich in eine Spalte B zeilenweise Werte aus Spalte A mit irgendetwas verrechnet (addiert mit 2,5 z.B.) automatisch eintragen lassen, hilft da das Dollarzeichen weiter?

A | B
1 | 3,5
2 | 4,5
3 | 5,5

-> Wie klappt das, wenn ich auf eine Spalte aus Sheet2 mich beziehen will, also Eingabewerte sind in Sheet1, Ausgabe soll in Sheet2 sein?

Grüße Roman

-> Wie kann ich in eine Spalte B zeilenweise Werte aus Spalte
A mit irgendetwas verrechnet (addiert mit 2,5 z.B.)
automatisch eintragen lassen, hilft da das Dollarzeichen
weiter?
-> Wie klappt das, wenn ich auf eine Spalte aus Sheet2 mich
beziehen will, also Eingabewerte sind in Sheet1, Ausgabe soll
in Sheet2 sein?

Hallo Roman,

schreibe in Tabelle1.A1:A3 und Tabelle2.B1:B3 die Zahlen 1-3.
Dann in beliebige Zelle in Tabelle2 die 2,5
Strg+c, dann markierst du Tabelle2.B1:B3. Bearbeiten—Inhalteeinfügen–Addieren

Gruß
Reinhard

keine Lösung

-> Wie kann ich in eine Spalte B zeilenweise Werte aus Spalte
A mit irgendetwas verrechnet (addiert mit 2,5 z.B.)
automatisch eintragen lassen, hilft da das Dollarzeichen
weiter?
-> Wie klappt das, wenn ich auf eine Spalte aus Sheet2 mich
beziehen will, also Eingabewerte sind in Sheet1, Ausgabe soll
in Sheet2 sein?

Hallo Roman,

schreibe in Tabelle1.A1:A3 und Tabelle2.B1:B3 die Zahlen 1-3.

Ich will aber in Tabelle2, Spalte B automatisch ausfüllen lassen, also will ich hier nur eine Formel einragen und sonst nix.

Dann in beliebige Zelle in Tabelle2 die 2,5

In einer Tabelle2, Spalte X sollen mehrere Zellen mit 2,5 verrechnet werden. Ich will 2,5 in der Formel für die Zellen der Spalte X haben und sonst nirgendwo. Ich habe bisher nur gefunden, dass man pro Zelle eine Formel angeben kann, warum kann ich nicht auf für mehrere Zellen die gleiche Formel angeben, so eine Schleife…

Strg+c, dann markierst du Tabelle2.B1:B3.
Bearbeiten—Inhalteeinfügen–Addieren

Ich hatte doch geschrieben „automatisch“, warum der Vorschlag mit copy & paste? Dein Vorschlag funktioniert zwar, aber leider nicht so, wie ich mir das vorstelle.

Gruß

Reinhard

Danke & Grüße

Roman

Ich hatte doch geschrieben „automatisch“, warum der Vorschlag
mit copy & paste? Dein Vorschlag funktioniert zwar, aber
leider nicht so, wie ich mir das vorstelle.

Hallo Roman,

tja nun, ich war als Kind schon böse :smile:)

dann schreib halt in Tabelle2.B1:
=Tabelle1.A1+2,5
Und kopiers nach unten.

Gruß
Reinhard

1/2 Lösung
Hallo Reinhard,

Ich hatte doch geschrieben „automatisch“, warum der Vorschlag
mit copy & paste? Dein Vorschlag funktioniert zwar, aber
leider nicht so, wie ich mir das vorstelle.

Hallo Roman,

tja nun, ich war als Kind schon böse :smile:)

lol :wink:

dann schreib halt in Tabelle2.B1:

=Tabelle1.A1+2,5

Und kopiers nach unten.

Soweit war ich schon alleine gekommen. Das ist nur eine halbe Lösung.
Gibts nicht so was wie eine Schleife in der Programmierung, die die Zellen durchgeht und eine Schleifenvariable mir den Zugriff ermöglich z.B.

Formel sei:

FOR(A1:A5, $A+2,5 -> B1:B5, $B)

Gehe die Zellen von A1 bis A5 durch, aktuelle Zelle ist in $A.
Addiere zu der aktuellen Zelle 2,5 und trage das in die Zellen B1 bis B5 ein, z.B. A1 -> B1, A2 -> B2 usw. Verstehst du nun, was ich will? Ich habe leider keine Ahnung wie man so eine Formel 1x für mehrere Zellen einträgt (ohne copy & paste) und wie diese Formel korrekt aussieht.

Gruß

Reinhard

Grüße Roman

Hallo Roman,

dann schreib halt in Tabelle2.B1:
=Tabelle1.A1+2,5
Und kopiers nach unten.

Soweit war ich schon alleine gekommen.

aha, sehs mal so, wenn du mich schon gnadenlos kritisierst weil ich schlampig Anfragen lese, wird aber auch umgekehrt daraus ein Schuh, wo stand das in deiner Anfrage, daß du das schon probiert hast?

Ich war nicht nur böse sondern bin auch Skorpion und nachtragend *schwergrins*

Gibts nicht so was wie eine Schleife in der Programmierung,
die die Zellen durchgeht und eine Schleifenvariable mir den
Zugriff ermöglich z.B.
FOR(A1:A5, $A+2,5 -> B1:B5, $B)

Das geht mit normalen Excelformeln nicht, da muß Vba, also ein Makro ran, das kennt For-Schleifen, eingebaute Excelfunktionen nicht.

Addiere zu der aktuellen Zelle 2,5 und trage das in die
Zellen B1 bis B5 ein, z.B. A1 -> B1, A2 -> B2 usw. Verstehst
du nun, was ich will? Ich habe leider keine Ahnung wie man so
eine Formel 1x für mehrere Zellen einträgt (ohne copy & paste)
und wie diese Formel korrekt aussieht.

Ich weiß jetzt nicht warum dir dein Hautarzt aus Allergiegründen die Benutzung von copy-Paste untersagt hat :smile:
Hilft dir das Wissen, daß du z.B. B1:B100 markieren kannst, dann die Formel die für B1 gilt einträgst und Excel passt das dann in B1:B100 automatisch an?

Sonst bleibt nur Vba. Ups, bin grad durcheinander, bist du der mit der Calc-Anfrage? dann gilt sinngemäß das Gleiche.
Ich hab nur mehr Schwierigkeiten, da Code dafür zu entwickeln, da Calc kein Vba kennt, sondern anderes.
Aber theoretisch genauso machbar.

Vom Prinzip her ist es in Excel und Calc genauso. Entweder gibst du in jede Zelle in B die Formel ein, oder eine VBa oder basic Funktion,
also so für B1
=Add2_5(Tabelle1.A1)
aber das sit das Gleiche wie eine Calc-Funktion reinzuschreiben.

Oder du rufst eine Sub auf, also ein Makro, das geht dann B durch und fügt automatisch in jede Zelle das Ergebnis von 2,5 plaus Tabelle1.Ax ein.

Gruß
Reinhard

Hallo Reinhard,

aha, sehs mal so, wenn du mich schon gnadenlos kritisierst
weil ich schlampig Anfragen lese, wird aber auch umgekehrt
daraus ein Schuh, wo stand das in deiner Anfrage, daß du das
schon probiert hast?

Ich war nicht nur böse sondern bin auch Skorpion und
nachtragend *schwergrins*

Nur nicht umfallen :stuck_out_tongue: Danke, dass du am Ball bleibst…

Das geht mit normalen Excelformeln nicht, da muß Vba, also
ein Makro ran, das kennt For-Schleifen, eingebaute
Excelfunktionen nicht.

Leider will ich das nicht in Excel, sondern wie der Titel meiner Anfrage lautet in OpenOffice Calc :wink: Wie ist die VBA-Alternative bei OpenOffice?

Ich weiß jetzt nicht warum dir dein Hautarzt aus
Allergiegründen die Benutzung von copy-Paste untersagt hat :smile:

Hat er nicht

Hilft dir das Wissen, daß du z.B. B1:B100 markieren kannst,
dann die Formel die für B1 gilt einträgst und Excel passt das
dann in B1:B100 automatisch an?

nicht so wirklich

Sonst bleibt nur Vba. Ups, bin grad durcheinander, bist du
der mit der Calc-Anfrage? dann gilt sinngemäß das Gleiche.

Ich hab nur mehr Schwierigkeiten, da Code dafür zu
entwickeln, da Calc kein Vba kennt, sondern anderes.

Aha, du kriegst doch den Faden zu OpenOffice Calc :smile:

Aber theoretisch genauso machbar.

Vom Prinzip her ist es in Excel und Calc genauso. Entweder
gibst du in jede Zelle in B die Formel ein, oder eine VBa oder
basic Funktion,

also so für B1

=Add2_5(Tabelle1.A1)

aber das sit das Gleiche wie eine Calc-Funktion
reinzuschreiben.

Oder du rufst eine Sub auf, also ein Makro, das geht dann B
durch und fügt automatisch in jede Zelle das Ergebnis von 2,5
plaus Tabelle1.Ax ein.

Wie geht denn so ein Makro, ist das nicht wieder Excel…?
Ist dieses komische Basic in OpenOffice ein Microsoft-Klon, oder hat das doch einige Unterschiede?

Gruß

Reinhard

Danke & Grüße

Roman

Leider will ich das nicht in Excel, sondern wie der Titel
meiner Anfrage lautet in OpenOffice Calc :wink: Wie ist die
VBA-Alternative bei OpenOffice?

Oder du rufst eine Sub auf, also ein Makro, das geht dann B
durch und fügt automatisch in jede Zelle das Ergebnis von 2,5
plaus Tabelle1.Ax ein.

Wie geht denn so ein Makro, ist das nicht wieder Excel…?
Ist dieses komische Basic in OpenOffice ein Microsoft-Klon,
oder hat das doch einige Unterschiede?

Hallo Roman,

VBA beruht auf Teilmengen von VB. MS hat pro Programm, Excel, Word, Access, Outlok, u.vb.m. dann noch jeweils unterschiedliche Befehle dazugepackt, deshalb unterscheiden sich auch VBAs untereinander.
Verbindend ist da nur der identische reine VB-Inhalt in allen 30 Programmen von MS, die Vba haben.

OO-Basic ist ein anderes Basic als VB und Basic-Variationen gibt es wie Sand am Meer.
Auch da sind nur Teilmengen identisch mit VB, somit mit VBA.

Deshalb fällt es mir sehr schwer Basic-Code für OO zu entwickeln, die Hilfe taugt nix, ich weiß nicht wie die Befehlswörter heißen nach denen ich suche bzw. die ich bräuchte usw.

Gehe mal auf Extras–Makos–Makros verwalten–OO Basic.
Links wählst du deine mappe aus, per Doppelklick oder Klick, schau halt mal, dann auf Neu, es wird ein Modul angelegt.
Dann auf Bearbeiten oder auch nicht, probiers halt. Jedenfalls gehört der nachstehend Code in das neue Modul.

Aufrufen kannst du den Code wenn du dich innerhalb des Codes mit dem Curser stellst und F5 drückst, oder, Editor beenden, in OO aufrufen mit Extras–Makros–Ausführen…

Ggfs. im Code die 100 anpassen. Fand noch nichts wie man da die unterste belegte Zelle einer Spalte ermittelt.

Sub Addiere
blatt=ThisComponent.sheets.getbyName("Tabelle1")
for N= 1 to 100
 Wert=blatt.getcellrangebyname("A" & N).value 
 if wert\>0 then
 blatt.getcellrangebyname("B" & N).value=blatt.getcellrangebyname("A" & N).value + 2.5 
 end if 
next N
end sub

Gruß
Reinhard

Hallo,
iss doch jaaaansss einfach,
Du kennst Dich halt nicht so aus, und der Profi muss weiter unten denken (beim Wissensstand).

Wenn die erste Formel in der obersten der mehreren Zellen in Spalte x richtig drinsteht (hast Du schon geschafft), dann
markierst Du diese Zelle (draufklicken) und gehst mit der Maus an den Rand dieser markierten Zelle rechts unten, dann kommt so ein Punkt zur Mausspitze
Wenn Du diese Mausposition hast, linke Maustaste druecken und nicht loslassen
und weitere Zellen darunter ueberstreichen.
Sobald Du weiter unten losslaesst, sind die Felder dazwischen alle mit aehnlicher Formel ausgefuellt.

Die Werte in der Tabelle1 sollten nun alle 2,5 groesser dort stehen.

Stichwort -nach unten ausfuellen-
geht auch nach rechts
in Excel und Calc
Gruss Helmut