Rechnen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Rechnen

Beitrag von lorbass »

Feld A1: =3+2*45/(4-2)
Feld B2: =A1

Gruß
lorbass
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Rechnen

Beitrag von lorbass »

Sorry, dann hab ich die Aufgabenstellung falsch verstanden.

Gruß
lorbass
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Rechnen

Beitrag von AhQ »

Hallo,

ganz klar ist mir zugegebenermßen auch nicht, was Du willst, aber vielleicht geht es ja auch anders herum. Du schreibst in B2 Deine Formel und in A1 =RECHTS(FORMEL(B2);LÄNGE(FORMEL(B2))-1)

Dann hast Du in B2 das Ergebnis stehen und in A1 die verwendete Formel ohne das "="-Zeichen

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

Re: Rechnen

Beitrag von turtle47 »

Hallo sirialzz ,

auch wenn ich jetzt wieder gehauen werde, aber Du hast ja selber geschrieben:
sirialzz hat geschrieben:Ich suche für Open Office eine Funktion oder ein Makro
In angehängter Tabelle kannst Du in Spalte A die Formel eingeben und mit Enter abschliessen.
Dann in die Zelle klicken und anschliessend die Schaltfläche "Berechnen" drücken. In nebenstehender Zelle wird dann das Ergebnis angezeigt.

Hilft das weiter?

Jürgen
Zellwert_berechnen.ods
(10.53 KiB) 89-mal heruntergeladen
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
Willnix
Beiträge: 1
Registriert: Mo, 14.07.2008 20:49

Re: Rechnen

Beitrag von Willnix »

Hall sirialzz,
ich suche auch nach einer solchen Lösung. Ich habe hier ein VBA-Makro, dass die Aufgabe in Excel löst:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then
x = Application.WorksheetFunction.Substitute(Target.Value, ",", ".")
Target.Offset(0, 1).Formula = "=" & x
End If
End Sub

Hier gibt man in einer Zelle der Spalte 1 einen Rechenansatz ein, beim Verlassen der Zelle wird automatisch das Ergebnis in der Zelle rechts daneben angezeigt.
Leider Funktioniert es nicht in openOffice, auch nicht in oxygenoffice.
Ich habe das Makro irgendwo abgeschrieben, da ich selbst weder von VBA, noch von der Skriptsprache in openoffice Ahnung habe, bin ich auch nicht in der Lage das Makro umzuschreiben, vielleicht kann jemand helfen

Die Tabelle von turtle47 habe ich probiert. Es kommt der Sache ja schon ziemlich nahe. Leider muss man die Berechnung immer gesondert starten. Man macht da schnell Fehler, wenn man z.B. den Rechenansatz nachträglich ändert und vergisst die Berechnung erneut zu starten.
VG Willnix
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Rechnen

Beitrag von Karolus »

Hallo Willnix
Ich hab Jürgens Makro leicht modifiziert, wenn du dieses mit einer Tastenkombi verknüpfst, die du statt Entertaste oder → verwendest hast du das gewünschte Verhalten.

Code: Alles auswählen

Sub Zelle_Berechnen_Short_Cut
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args1())
	odoc = thiscomponent
	MyCell = oDoc.getCurrentSelection()
	myString = MyCell.string
	if 	myString =  "" then
	exit Sub
	end if
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())	
	oDoc.CurrentSelection().formulalocal = "=" & myString
End Sub
http://www.ooowiki.de/MakrosMitEinemKlick

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)
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Rechnen

Beitrag von turtle47 »

Hallo sirialzz,
sirialzz hat geschrieben:Oder das tausender Zeichen auszufiltern.
Folgender Code erledigt das:

Code: Alles auswählen

Sub Zelle_Berechnen_Short_Cut
	GlobalScope.BasicLibraries.loadLibrary("Tools")
	document   = ThisComponent.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
	dim args1(1) as new com.sun.star.beans.PropertyValue
	args1(0).Name = "By"
	args1(0).Value = 1
	args1(1).Name = "Sel"
	args1(1).Value = false
	dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args1())
	dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args1())
	odoc = thiscomponent
	MyCell = oDoc.getCurrentSelection()
	myString = MyCell.string
	if  myString =  "" then
	exit Sub
	end if	
	newString = ReplaceString(myString, "",".")
	dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())   
	oDoc.CurrentSelection().formulalocal = "=" & newString
End Sub
Schöne Grüsse

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
Antworten