feste Dezimalstellen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

escimo
Beiträge: 7
Registriert: Di, 16.05.2006 21:14

feste Dezimalstellen

Beitrag von escimo »

Hallo,

da ich häufig viele Zahlen mit zwei Nachkommastellen addiere, hatte ich in Excel unter "Extra - Optionen - Bearbeiten" zwei feste Dezimalstellen gesetzt. Bei der Eingabe von 100 erschien in einer mit € formatierten Zelle folglich 1,00 €. Ich konnte mir also die Eingabe des Kommas ersparen (wie bei einer Addiermaschine). Habe ich diese Möglichkeit in meinem geliebten Calc auch? Ich habe trotz langem Suchen nichts gefunden.

Viele Grüße
escimo
Csongor
****
Beiträge: 165
Registriert: Fr, 11.06.2004 09:15
Wohnort: München

Beitrag von Csongor »

Hallo escimo,

ja: Format - Zellen - [Zahlen]

Oder: wenn Du z. B. mit der rechten Maustaste (Linkshänder: linken) auf einen Spaltenkopf klickst:

Zellen formatieren - ...

Faustregel: in OOo findest Du alles, was mit Formaten zu tun hat, auch unter "Format" :wink:

Gruß,
Csongor
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo Escimo

Ich kenne keine Option in Calc die dir ein Komma vor der vorletzten Stelle einfügt.
Eine mögliche Lösung wäre aber ein aufgezeichnetes Makro von folgender Routine :

->Bearbeiten->Suchen und Ersetzen
'suche nach'
[0-9][0-9]$
'ersetzen durch'
,& €
x 'nur in Selektion'
x 'regulärer Ausdruck'

Danach das aufgezeichnete Makro abspeichern, 'main' durch einen pasenden Namen ersetzen, und über ->Extras ->Anpassen 'tastatur' eine Tastaturkombi auswählen.
Habs gerade getestet, funktioniert einwandfrei.

Gruß Karo
escimo
Beiträge: 7
Registriert: Di, 16.05.2006 21:14

Beitrag von escimo »

Hallo Karo,
vielen Dank, bei mir funktioniert`s auch. Da wäre ich selber nie draufgekommen.
Gruß escimo :lol:
johannek
Beiträge: 2
Registriert: Mo, 25.12.2006 22:27

Beitrag von johannek »

Hallo alle miteinander und frohe Weihnachten!!!

Nachdem ich nun eine halbe Stunde, an deren Ende ich hier gelandet bin, zu dem Thema "feste Dezimalstellen" in OpenOffice "gegoogelt" habe, nehme ich fast an, dass es diese Funktion in OpenOffice-Calc wirklich nicht gibt.

Abgesehen davon, dass ich dass schockierend finde, weil ich nämlich - wie doch wahrscheinlich sehr viele andere Benutzer auch - meistens Währungsbeträge in Calc eingeben muss, kann ich mir vorstellen, dass so eine Funktion in OO-Basic nachprogrammierbar sein sollte.

Weiss vielleicht jemand von einem solchen Vorhaben?
Oder hat jemand eine Idee, wie man sich diesem Thema "progammiertechnisch" nähern könnte?

Vorweg: Ich weiß schon, wie man Zellen formatieren kann, und dass man Formatierungsanweisungen auch per Makro erledigen kann.
Was ich möchte ist, dass ich einen Betrag mit 2 Nachkommastellen ohne Komma durchtippen kann (wie auf einem Tischrechner etwa) und dass Calc sich um die richtige Darstellung kümmert. (Teilen durch 100, das gewünschte Format darstellen) Und zwar das während der Eingabe ohne weiteres Zutun des Benutzers.

Vielen Dank schon mal für alle Antworten und einen guten Rutsch wünscht

Johannes
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Beitrag von turtle47 »

Hallo Forumianer,

mit dem Format geht es, aber leider ohne Tausender-Trennpunkte.

Code: Alles auswählen

#\,## [$€-407]
Vieleicht bekommt jemand das aber hin.


Viel Erfolg

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

Beitrag von turtle47 »

Hi,

hab noch mal ein wenig probiert.

Hab zwar immer noch keine Lösung mit den Punkten aber vieleicht langt folgende Darstellung:

Code: Alles auswählen

1 000 000,00
Das Format dazu sieht wie folgt aus:

Code: Alles auswählen

# ### ###\,## [$€-407]
Gerechnet wir mit der Darstellung übrigens richtig!

Wem es genügt der soll glücklich damit werden.

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
johannek
Beiträge: 2
Registriert: Mo, 25.12.2006 22:27

Beitrag von johannek »

Liebes Forum!

Nach Anwendung des Format-Strings war ich ja durchaus begeistert, aber:

Leider wird nicht richtig gerechnet!

Wenn ich nacheinander die Tasten "6" "0" "0" u. Enter
tippe, erscheint "6,00 €". Soweit so gut.

Der Inhalt der Zelle ist jedoch unabhängig von der Darstellung schlicht 600.

Und mit 600 wird auch gerechnet.

Habe ich irgendwie was übersehen?

Grüße aus Bremen,

Johannes
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo Johannes

Nein du hast nichts übersehen , eine Formatierung einer Zahl mit einem Komma hinter der Hunderterstelle rechnet die Zahl natürlich nicht um, und ist daher eher ungeeignet.

Oder hat jemand eine Idee, wie man sich diesem Thema "progammiertechnisch" nähern könnte?
Ja, da gibt es reichlich Ideen, aber die beruhen alle auf Makroprogrammierung, ergo müsstest du zumindest die Bereitschaft zeigen, diese einzusetzen.

Folgendes Makro schliest eine Eingabe ab, dividiert einen eingegebenen Zahlenwert durch hundert und formatiert auf Eurowährung mit 2 Kommastellen.
Wenn du dies über ->Extras->Anpassen->Tastatur einer Tastenkombi zuweist, hast du eigentlich alles was du dir wünscht.

Code: Alles auswählen

Sub Eurodurchhundert
dim document   as object
dim dispatcher as object
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())

myDoc = thisComponent
mycell= mydoc.getcurrentSelection()
if mycell.value = 0 then dispatcher.executeDispatch(document, ".uno:GoDown", "",0,args1()) : exit sub '^Zeilenumbruch entfernen !!
mycell.value=mycell.value /100

dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "NumberFormatValue"
args2(0).Value = 106

dispatcher.executeDispatch(document, ".uno:NumberFormatValue", "", 0, args2())
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args1())
end sub
Gruß Karo
Antworten