Inhalt einer Zelle auswerten/berechnen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

bemax
Beiträge: 4
Registriert: Mi, 21.05.2008 20:38

Inhalt einer Zelle auswerten/berechnen

Beitrag von bemax »

Hallo Community,

ich habe in Zelle A1 "1+8" als Text stehen und würde das jetzt gern in einer anderen Zelle das berechnete Ergebnis haben.

Ich habe nur leider keine Funktion gefunden die das macht!

Was mir vorschebt ist ungefähr so =eval("="&A1)

schönmal recht herzlichen Dank für eure Hilfe.

Gruß

Max
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Inhalt einer Zelle auswerten/berechnen

Beitrag von Karolus »

Hallo
Als Zellfunktion ist das nicht einfach zu realisieren.
Evtl hilft dir schon folgendes Makro das den Inhalt einer selektierten Zelle in der rechten Nachbarzelle als Formel schreibt.

Code: Alles auswählen

Sub Nachbar_auswerten
	odoc = thisComponent
	osheet = odoc.currentcontroller().activesheet
	qzelle = odoc.currentselection()
	austext = qzelle.string
	orow = qzelle.getcelladdress.row
	ocol = qzelle.getcelladdress.column
	osheet.getcellbyposition(ocol +1 , orow).formula = "=" & austext
End Sub


Wenn du es dennoch mit einer Zellfunktion probieren möchtest, dann schau hier nach

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
bemax
Beiträge: 4
Registriert: Mi, 21.05.2008 20:38

Re: Inhalt einer Zelle auswerten/berechnen

Beitrag von bemax »

Dankeschön..

Hatte zwar gehofft das es eine Standardfunktion gibt da es ja auch funktion() gibt aber ist nicht so wild .. werde ich wohl das Gesamtkonzept ein wenig ändern.

Gruß

Max
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: Inhalt einer Zelle auswerten/berechnen

Beitrag von Charly »

Hallo!

Ich habe mal versucht, das durch eine Funktion zu lösen. Solange der Operator nur Plus oder Minus geht das. Um die Formel übersichtlich zu halten habe ich sie mit einer Hilfsspalte geteilt.

Wenn also in A1 der Text steht "8 + 1" oder "8 - 1", dann steht in B1 folgende Funktion:

Code: Alles auswählen

=WENN(NICHT(ISTFEHLER(FINDEN("+";A1)));FINDEN("+";A1);FINDEN("-";A1))
Damit suche ich den Operator.

In C1 steht folgende Funktion

Code: Alles auswählen

=WERT(TEIL(A1;1;B1-1)) + WERT(TEIL(A1;B1;LÄNGE(A1)-B1+1))
Damit wandle ich die beiden Teilbeträge in Werte um und addiere sie. Eine Minuszahl wird dabei abgezogen.


Gruß
Charly
hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: Inhalt einer Zelle auswerten/berechnen

Beitrag von hawe »

Ich hab mal sowas gemacht...
Irgendwo im Netz gibt einen Formel Parser in VBA, der einen math. Term berechnet.
Guckst DU auf unsere WEbsite www.lemitec.de unter Veröffenlichungen im OO Workshop das Beispiel
OO-Calc Molgewicht
Gruss HW
Win7/SuSe 11.2 - LO 3.3
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Inhalt einer Zelle auswerten/berechnen

Beitrag von Karolus »

Hallo Hans
In dem oben verlinktem Beitrag wird dein Code benutzt - du musst daher nicht danach suchen.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten