🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ 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] Im Makro Kommazahlen kopieren

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
andreas034
Beiträge: 10
Registriert: Fr 22. Mai 2020, 18:30

[gelöst] Im Makro Kommazahlen kopieren

Beitrag von andreas034 » Fr 25. Jun 2021, 17:33

Hallo Leute,

letztes Jahr hat mir User craig ein Makro bereitgestellt, vielen Dank nochmal.
Ich habe das Makro etwas erweitert, durch die Erweiterung habe ich festgestellt, dass das Makro nur Ganze zahlen bzw. eine Kommazahl auf oder abrundet. Die ganze Zeit war mir das Egal, da mich Komma zahlen nicht Interessierten. Jetzt habe ich das Makro erweitert und das Makro soll eine Prozentzahl von Tabelle1 nach Tabelle3 kopieren, das macht er auch, allerdings ohne Komma.
Wie schaffe ich das, dass das Makro die Kommazahl kopiert?

Gruß
Andreas
Zuletzt geändert von andreas034 am Fr 25. Jun 2021, 18:27, insgesamt 1-mal geändert.

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

Re: Im Makro Kommazahlen kopieren

Beitrag von karolus » Fr 25. Jun 2021, 17:53

Warum zeigst du nicht den Quellcode hier in deiner Frage? Ist copy&paste zuviel verlangt?

Edit: ich hab mir die Mühe gemacht und nach dem Thread vom letzten Jahr gesucht, … Craig hat sogar den entsprechenden Code mit Kommentaren und auskommentiert hinterlassen:

Code: Alles auswählen

…
'Variable für Fließkomma-Werte'
'Dim fVal as Double'

'Variable für ganzzahlige Werte'
Dim nVal as Long
…
Zuletzt geändert von karolus am Fr 25. Jun 2021, 18:05, insgesamt 1-mal geändert.
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

andreas034
Beiträge: 10
Registriert: Fr 22. Mai 2020, 18:30

Re: Im Makro Kommazahlen kopieren

Beitrag von andreas034 » Fr 25. Jun 2021, 18:00

Hallo korolus,

entschuldige, ich habe daran nicht Gedacht.

Code: Alles auswählen

REM  *****  BASIC  *****
Option Explicit

Sub DatenUebernahme

Dim oDoc as Object
Dim oSheet1 as Object
Dim oSheet2 as Object
Dim oSourceCell as Object
Dim oColumnA as Object
Dim oEmpty as Object
Dim oAddress as Object
Dim oFirstEmptyCell as Object

'REM Variable für Fließkomma-Werte
'Dim fVal as Double

REM Variable für ganzzahlige Werte
Dim nVal as Long

	oDoc=ThisComponent

		' Hier ggf. den Tabellenblattnamen ändern
		oSheet1=oDoc.Sheets.getByName("Tabelle1")

		' Hier ggf. den Tabellenblattnamen ändern
		oSheet2=oDoc.Sheets.getByName("2021")

	' Objekt: Datenquelle
    oSourceCell = oSheet1.getcellrangebyname("G10")

'	REM Variable für Fließkomma-Werte
'    fVal=oSourceCell.Value
	
	REM Variable für ganzzahlige Werte
	nVal=oSourceCell.Value
	
	
	' Objekt: Ziel-Spalte
	oColumnA = oSheet2.Columns.getbyName("A")

	' Objekt nächstleere Zelle in Ziel-Spalte
    oEmpty = oColumnA.queryEmptyCells

	' Alle leeren Zellen in Ziel-Spalte
    oAddress= oEmpty.RangeAddresses(0)

   	' Erste leere Zelle in Ziel-Spalte
    oFirstEmptyCell = oSheet2.getcellbyposition(oAddress.StartColumn,oAddress.StartRow)

	   	' Daten in erste leere Zelle der Ziel-Spalte schreiben
		oFirstEmptyCell.Value = nVal
		
				' Hier ggf. den Tabellenblattnamen ändern
		oSheet1=oDoc.Sheets.getByName("Tabelle1")

		' Hier ggf. den Tabellenblattnamen ändern
		oSheet2=oDoc.Sheets.getByName("Tabelle2")

	' Objekt: Datenquelle
    oSourceCell = oSheet1.getcellrangebyname("D10")

'	REM Variable für Fließkomma-Werte
'    fVal=oSourceCell.Value
	
	REM Variable für ganzzahlige Werte
	nVal=oSourceCell.Value
	
	
	' Objekt: Ziel-Spalte
	oColumnA = oSheet2.Columns.getbyName("A")

	' Objekt nächstleere Zelle in Ziel-Spalte
    oEmpty = oColumnA.queryEmptyCells

	' Alle leeren Zellen in Ziel-Spalte
    oAddress= oEmpty.RangeAddresses(0)

   	' Erste leere Zelle in Ziel-Spalte
    oFirstEmptyCell = oSheet2.getcellbyposition(oAddress.StartColumn,oAddress.StartRow)

	   	' Daten in erste leere Zelle der Ziel-Spalte schreiben
		oFirstEmptyCell.Value = nVal
		
			' Hier ggf. den Tabellenblattnamen ändern
		oSheet1=oDoc.Sheets.getByName("Tabelle1")

		' Hier ggf. den Tabellenblattnamen ändern
		oSheet2=oDoc.Sheets.getByName("Tabelle3")

	' Objekt: Datenquelle
    oSourceCell = oSheet1.getcellrangebyname("H10")

'	REM Variable für Fließkomma-Werte
'    fVal=oSourceCell.Value
	
	REM Variable für ganzzahlige Werte
	nVal=oSourceCell.Value
	
	
	' Objekt: Ziel-Spalte
	oColumnA = oSheet2.Columns.getbyName("A")

	' Objekt nächstleere Zelle in Ziel-Spalte
    oEmpty = oColumnA.queryEmptyCells

	' Alle leeren Zellen in Ziel-Spalte
    oAddress= oEmpty.RangeAddresses(0)

   	' Erste leere Zelle in Ziel-Spalte
    oFirstEmptyCell = oSheet2.getcellbyposition(oAddress.StartColumn,oAddress.StartRow)

	   	' Daten in erste leere Zelle der Ziel-Spalte schreiben
	  
		oFirstEmptyCell.Value = nVal
End Sub

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

Re: Im Makro Kommazahlen kopieren

Beitrag von karolus » Fr 25. Jun 2021, 18:13

Hallo

Schaffst du es selbständig nach der Zeile Dim nVal as Long zu suchen, und Long schlicht zu ersetzen mitDouble?
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

andreas034
Beiträge: 10
Registriert: Fr 22. Mai 2020, 18:30

Re: Im Makro Kommazahlen kopieren

Beitrag von andreas034 » Fr 25. Jun 2021, 18:22

Vielen Dank korolus,

das wars, was ich möchte. Ich habe Probiert zu suchen und zu lesen, aber anscheinend habe ich falsch gesucht. Unter makro Kommazahlen habe ich dieses Double nicht gefunden :-(

Vielen Dank nochmal.

Gruß
Andreas


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