BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Makro welches Daten and einen anderen Ort kopiert

Alles zur Programmierung im LibreOffice.
Antworten
Werner99
Beiträge: 6
Registriert: Di 16. Mai 2017, 08:36

Makro welches Daten and einen anderen Ort kopiert

Beitrag von Werner99 » Di 16. Mai 2017, 09:00

Hallo zusammen,

Ich bin mit Makros leider ein absoluter Laie deshalb frage ich mal hier im Forum, ich habe eine Testdatei angehängt.

Erklärung:

Zeitreihe: (WZ=Winterzeit, WZ>SZ= Winterzeit auf Sommerzeit Umstellung, SZ=Sommerzeit, SZ>WZ=Sommerzeit auf Winterzeit Umstellung)
Spalte K-M wir verformelt und holt sich die Daten aus den Spalten A-H (das habe ich bereits hinbekommen mit einer "Wenn" funktion

Saldo: Datum = aktuelles Datum (wird aber auch teilweise händisch geändert)
Spalte A-C sind befüllt, Spalte D soll befüllt werden.

Makro: In Saldo in Spalte H soll ein Makrobuttonsein, wenn ich diesen drücke, soll er folgendes machen.

Zeitreihe:Spalte L2 das Datum+Uhrzeit 03.05.2017 00:00:00 wird in Saldo:Spalte A gesucht 24 Werte aus Zeitreihe:Spalte M wird in Saldo:Spalte D in der richtigen Zeile eingefügt.
Jetzt gibt es leider noch 2 Sonderfälle SZ und WZ haben immer 24 Stunden, WZ>SZ hat jedoch nur 23 Stunden, und SZ>WZ hat 25 Stunden, ich denke am einfachsten ist es das er immer einfach 25 Werte kopiert auch wenn nur 23,24 oder 25 drinnen sind.

ist das über ein Makro überhaupt möglich und vielleicht könnt Ihr mir hier ja helfen.

Danke Werner
Dateianhänge
Makro.ods
(55.36 KiB) 190-mal heruntergeladen
Zuletzt geändert von Werner99 am Mi 17. Mai 2017, 11:54, insgesamt 1-mal geändert.

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Makro welches Daten and einen anderen Ort kopiert

Beitrag von mikele » Di 16. Mai 2017, 11:06

Hallo,
ob es sinnvoll ist, für diesen Kopiervorgang ein Makro einzusetzen, sei Geschmacksache.
Anbei mal ein Vorschlag.
Für die Eingabe der Werte habe ich mal eine andere Lösung, bei der die Zeitreihe automatisch unter Beachtung von Winter- und Sommerzeit erstellt wird.
Das Makro überträgt die Werte auf das Blatt Saldo und löscht anschließend die Werte aus der Zeitreihe.
Dateianhänge
Makro.ods
(121.97 KiB) 230-mal heruntergeladen
Gruß,
mikele

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Makro welches Daten and einen anderen Ort kopiert

Beitrag von mikele » Di 16. Mai 2017, 11:10

Hallo,

Kommando zurück. Die Datei ist noch die falsche.
Hier jetzt die richtige.
Dateianhänge
Makro2.ods
(95.71 KiB) 201-mal heruntergeladen
Gruß,
mikele

Werner99
Beiträge: 6
Registriert: Di 16. Mai 2017, 08:36

Re: Makro welches Daten and einen anderen Ort kopiert

Beitrag von Werner99 » Di 16. Mai 2017, 11:21

super danke für den raschen Lösungsansatz, das schaue ich mir gleich an ob das so geht wie ich will, melde mich dann später noch einmal

Werner99
Beiträge: 6
Registriert: Di 16. Mai 2017, 08:36

Re: Makro welches Daten and einen anderen Ort kopiert

Beitrag von Werner99 » Di 16. Mai 2017, 16:23

Hallo,

also das ganze ist schon super, jedoch mit der "Zeitreihe neu" kann ich so nicht verwenden da bei mir alles verknüpft ist, also muss ich die Daten aus der M Spalte nehmen, die M Spalte hat aber ebenfalls einen Code, den darf er aber nicht kopieren sondern nur die Zahl die angezeigt wird :)

Code: Alles auswählen

=WENN($OV_ImportFPL.$B$16="WZ>SZ";MITTELWERT(INDIREKT(M3));WENN($OV_ImportFPL.$B$16="SZ";MITTELWERT(INDIREKT(N3));WENN($OV_ImportFPL.$B$16="SZ>WZ";MITTELWERT(INDIREKT(O3));WENN($OV_ImportFPL.$B$16="WZ";MITTELWERT(INDIREKT(L3))))))
dein Makro schneidet ja jetzt den Wert aus und fügt Ihn wieder ein, hier habe ich aber das Problem das ich so die Formel verliere, die in M verwendet wird, zusätzlich habe ich natürlich das Probem wenn ich 24 Werte habe zeigt der 25 Wert #DIV/0! oder wenn es nur 23 Werte gibt das ganze 2 Mal.

Ich hoffe du verstehst was ich meine, aber ansonsten ist das ganze schon mal genial, also Danke nocheinmal

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Makro welches Daten and einen anderen Ort kopiert

Beitrag von mikele » Di 16. Mai 2017, 21:15

Hallo,
soweit klar. Mit folgendem Makro solltest du Erfolg haben:

Code: Alles auswählen

Sub Main
	odoc=thiscomponent
	otab1=odoc.sheets.getbyname("Zeitreihe")
	otab2=odoc.sheets.getbyname("Saldo")
	aDaten()=otab1.getcellrangebyname("L2:M26").getDataArray
	aZiel()=otab2.getcellrangebyname("A2:D750").getDataArray
	datum=aDaten(0)(0)
	i=0
	do until int(aZiel(i)(0))=int(datum)
		i=i+1
	loop
	for k=0 to ubound(aDaten)
		 if aDaten(k)(0)>0 then 
		 	aZiel(i+k)(3)=aDaten(k)(1)
		 end if
	next
	otab2.getcellrangebyname("A2:D750").setDataArray(aZiel)
End Sub
Vielleicht kannst du ja die Datei mit den Originalformeln hochladen, um zu sehen, was sich optimieren lässt.
Gruß,
mikele

Werner99
Beiträge: 6
Registriert: Di 16. Mai 2017, 08:36

Re: Makro welches Daten and einen anderen Ort kopiert

Beitrag von Werner99 » Mi 17. Mai 2017, 10:21

Hallo Mikele,

das hat alles super geklappt, das Makro macht genau das was ich will.
Die komplette Datei darf ich aus Firmengründen nicht hochladen leider :( da wäre auf alle Fälle eine Menge zu optimieren, da auch extrem viele Altlasten enthalten sind, aber du hast mir super weitergeholfen!

Riesen Dankeschön an dich, für deine schnelle Reaktion und für die super Lösung.

RichardGhval
Beiträge: 2
Registriert: Do 18. Mai 2017, 10:38

Makro welches Daten and einen anderen Ort kopiert

Beitrag von RichardGhval » So 4. Jun 2017, 13:28

hallo miteinander

ich habe das Internet jetzt etwa eine stunde durchforstet und finde makro-codes fГјr das kopieren von ganzen zeilen, zum kopieren und anschlieГџenden einfГјgen, etc. etc.

was ich nicht finden konnte aber bräuchte wäre einfach folgendes:

einen makro-code nur fГјr das kopieren eines definierten zellbereichs, also z.b. tabelle 1, C10:C20.

kann mir bitte jemand mit dem code aushelfen?

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten