🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

(gelöst) rechnen im Formatcode?

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Reader
Beiträge: 11
Registriert: Sa 4. Aug 2012, 10:51

(gelöst) rechnen im Formatcode?

Beitrag von Reader » Sa 1. Dez 2012, 19:05

Hallo,
ich möchte Zellen so formatieren, dass bei Eingabe einer Zahl automatisch eine feststehende Zahl addiert wird.
Der Hintergrund ist: ich habe sehr lange, immer gleich lange Zahlen einzugeben, bei denen die ersten Stellen konstant sind. Nun möchte ich nur die letzten 5 Ziffern eingeben und die davorstehenden automatisch davorgesetzt bekommen. Ist das irgendwie machbar?

Danke schonmal
Uwe
Zuletzt geändert von Reader am So 2. Dez 2012, 13:26, insgesamt 1-mal geändert.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: rechnen im Formatcode?

Beitrag von karolus » Sa 1. Dez 2012, 20:00

Hallo
Mit einer Zellformatierung kannst du nur das sichtbare Ergebnis der Zelle beeinflussen, der eigentliche Inhalt wird dadurch nicht verändert.
Möglich wäre da zum einen eine Textformatierung mit bsplw. dem Formatcode: "1234"@ oder ganz ähnlich als Wert mit dem Formatcode "1234"0 '1234' steht hier jeweils für die fixen Ziffern.

Wenn du tatsächlich auch die Werte oder den vollständigen Text benötigst, wäre das relativ einfach über ein kleines Makro lösbar das mit dem Ereignis 'Inhalt geändert' des Tabellenblatts verknüpft wird. (→Rechtsklick Tabellenreiter→Tabellenereignisse... )

?

Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Reader
Beiträge: 11
Registriert: Sa 4. Aug 2012, 10:51

Re: rechnen im Formatcode?

Beitrag von Reader » So 2. Dez 2012, 09:50

Da hast du natürlich Recht: mit der Formatierung ändere ich den Inhalt nicht. Das sollte aber schon passieren, da dieser Inhalt dann ausgewertet wird.
Wäre die Variante mit dem Makro. Das mit dem Aufruf des Makros bei Änderung des Inhalts habe ich verstanden. Aber von der Makroprogrammierung habe ich nun überhaupt keine Ahnung. Kannst du mir auf die Sprünge helfen? Wenn ich den Anfang habe, fitze ich mich dann schon rein.
Danke erstmal

Rocko
* LO-Experte *
Beiträge: 1336
Registriert: Sa 2. Jul 2011, 11:12

Re: rechnen im Formatcode?

Beitrag von Rocko » So 2. Dez 2012, 10:25

Reader hat geschrieben:Da hast du natürlich Recht: mit der Formatierung ändere ich den Inhalt nicht. Das sollte aber schon passieren, da dieser Inhalt dann ausgewertet wird.
Abhängig von deiner konkreten Aufgabenstellung ist ein Makro nicht unbedingt die einzige Alternative. Wenn die Eingaben z.B. eine fortlaufende Spalte betreffen, zeigt sich für mich der Weg über die Formatierung als der mit dem wenigsten Aufwand.

Du gibst deine 5-stelligen Zahlen ein und formatierst diese Zellen mit der konstanten Zahl (Zahlencode "1234"0 - Wobei die "1234" die konstante Ziffernfolge ist.). Nach Ende der Eingabe markierst du die Zellen/Spalte/Zeile, schneidest sie mit Strg+x aus und fügst sie gleich als "Unformatierten Text" an derselben Stelle wieder ein.

Bei diesem Vorgang werden nicht nur die angezeigten Ziffern, sondern auch deren Formatierung ausgeschnitten; eingefügt aber werden nur noch die Ziffern ohne Formatierung. Die Zahlenerkennungsfunktion von Calc erkennt dann diese Ziffernfolge als neuen Wert, mit dem du weiterarbeiten kannst.
Hast du schon mal einen Blick in die Writer-FAQ und in die Calc-FAQ des Forums geworfen?
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/

Reader
Beiträge: 11
Registriert: Sa 4. Aug 2012, 10:51

Re: rechnen im Formatcode?

Beitrag von Reader » So 2. Dez 2012, 10:54

Das ist auch 'ne Variante. Aber schon ein bisschen umständlich. Makro wäre natürlich eleganter. Ich werde das aber als Übergangslösung nutzen.
Danke

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: rechnen im Formatcode?

Beitrag von karolus » So 2. Dez 2012, 11:27

Hallo
Hier noch eine Sub für das Ereignis 'Inhalt geändert'

Code: Alles auswählen

sub prefix_number( event )
    fix_val = 123456700000 'anpassen
    on error resume next
    
    if isobject( event.Tokens) then 
        exit sub ' ^echte Formeln ausschliessen
    end if
    v = event.Value
    if len(event.String) = 5 and v >= 10000 and v < 100000 then
        event.Value = v + fix_val
    end if
end sub
Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Reader
Beiträge: 11
Registriert: Sa 4. Aug 2012, 10:51

Re: rechnen im Formatcode?

Beitrag von Reader » So 2. Dez 2012, 12:17

Wunderbar, danke.
Das ist genau das, was ich brauche.
Ich werde mich wohl doch mal etwas intensiver mit der Programmierung beschäftigen.

Nochmal danke
Uwe

P.S: Werden gelöste Probleme hier im Forum als solche gekennzeichnet? Und wenn ja, wie?

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: rechnen im Formatcode?

Beitrag von karolus » So 2. Dez 2012, 13:08

Hallo
P.S: Werden gelöste Probleme hier im Forum als solche gekennzeichnet? Und wenn ja, wie?
Ja, indem du deinen ersten Beitrag editierst und dem Titel/Betreff [gelöst] voranstellst.

Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten