❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ 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. 🤗

Zahlencode in Text umwandeln

CALC ist die Tabellenkalkulation, die Sie immer wollten.
mikele
* LO-Experte *
Beiträge: 1947
Registriert: Mo 1. Aug 2011, 20:51

Re: Zahlencode in Text umwandeln

Beitrag von mikele » Sa 10. Sep 2016, 17:43

Hallo,
unter der Annahme, dass
a) die Eingaben in der Spalte B, ab Zeile 3 erfolgen und
b) die Liste auf dem Tabellenblatt "Tabelle2" im Bereich A2:B300 zu finden sind
habe ich deinen Wunsch mal per Makro umgesetzt.

Code: Alles auswählen

Sub eingabe(oevent)
	if oevent.supportsService("com.sun.star.sheet.SheetCell") then
		if oevent.celladdress.column=1 and oevent.celladdress.row>1 then 'Spalte B, ab Zeile 3
			adaten()=thiscomponent.sheets.getbyname("Tabelle2").getcellrangebyname("A2:B300").getdataarray 'Liste erfassen
			i=0
			temp=""
			do while i<=ubound(adaten())
				if adaten(i)(0)=oevent.string then
					temp=adaten(i)(1)
					i=ubound(adaten())
				end if
				i=i+1
			loop
			oevent.string=temp
		end if
	end if	
End Sub
Gibt es einen tieferen Grund, warum der Zahlencode als Text definiert wird? Für die Eingabe wäre es einfacher, wenn ich nur "1" anstelle von "0001" tippen müsste.
Dateianhänge
Zahlencode in Text 2 makro.ods
(12.27 KiB) 165-mal heruntergeladen
Gruß,
mikele

Jan-LibreOffice
Beiträge: 12
Registriert: Mo 5. Sep 2016, 12:15

Re: Zahlencode in Text umwandeln

Beitrag von Jan-LibreOffice » So 18. Sep 2016, 11:34

Hallo mikele,

genau das ist es was ich gesucht habe, SUPERKLASSE.

Wie kann ich das Makro in eine Tabelle einfügen?

Habe es versucht, wie es im LibreOffice Wiki unter Handbuch „Erste Schritte“ (Kapitel 13 Einführung in Makros -> Ein vorhandenes Makro hinzufügen) steht.
Nur leider ohne Erfolg, selbst bei einer Tabelle, die genauso aufgebaut ist wie Deine funktioniert das Makro nicht.
Was muss ich noch machen damit das Makro läuft, habe es halt noch nie gemacht.
mikele hat geschrieben:Gibt es einen tieferen Grund, warum der Zahlencode als Text definiert wird? Für die Eingabe wäre es einfacher, wenn ich nur "1" anstelle von "0001" tippen müsste.
Der Zahlencode ist vorgegeben und ist drei bis vierstellig (0001 ist nur ein Beispiel).

MfG Jan

mikele
* LO-Experte *
Beiträge: 1947
Registriert: Mo 1. Aug 2011, 20:51

Re: Zahlencode in Text umwandeln

Beitrag von mikele » So 18. Sep 2016, 20:24

Hallo,
damit das Makro (automatisch) bei der Eingabe reagiert, muss es mit einem Tabellenereignis verknüpft werden.
Dazu klickst du den Tab der Tabelle mit rechter Maustaste an und wählst "Tabellenereignisse ..." und in dem Dialog dann "Inahlt geändert", klickst auf "MAkro" und wählst das Makro aus. Dann sollte es klappen.

Code: Alles auswählen

Der Zahlencode ist vorgegeben und ist drei bis vierstellig (0001 ist nur ein Beispiel).
Das macht ja nichts. Ich würde in dem Fall die Zahlencodespalte trotzdem nicht als Text formatieren, sondern als Zahl mit dem Formatcode "0000". Alle Zahlen werden dadurch 4-stellig (ggf. mit führenden Nullen) dargestellt und es reicht bei der Eingabe trotzdem 1 oder 34 oder 561 zu tippen (man darf natürlich auch 0001 etc.)
Anbei mal eine solche Version (beachte, das im Makro nun "if adaten(i)(0)=oevent.value" anstelle von "if adaten(i)(0)=oevent.string" steht)
Dateianhänge
Zahlencode in Text 2 makro version2.ods
(12.37 KiB) 140-mal heruntergeladen
Gruß,
mikele


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