[gelöst]Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst]Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

Re: Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

von little fingers » Mi, 21.12.2022 23:39

Hallo Balu und Stephan!

dankeschön für Eure tolle Arbeit! es hat wunderbar geklappt!

Vielen lieben Dank!
Gruss Ingo

Re: Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

von little fingers » Sa, 17.12.2022 13:15

@Balu und Mikeb!

Vielen Dank schon ein mal für Eure Lösungsansätze und Euren Einsatz für mich! Ich werde es am Montag ausprobieren und Rückmeldung geben!

Vielen Dank!!!


Gruss Ingo

Re: Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

von mikeleb » Sa, 17.12.2022 12:33

Hallo,
ich habe mal eine Kleinigkeit gebastelt:

Code: Alles auswählen

Sub Main
	'Sammlung aller korrespondierender Adressen, immer nach dem Schema Array(woher,wohin)
	'wenn "wohin" fehlt, wird die Formel in demselben Zellbereich in Wert umgewandelt
	adressen=Array(Array("F51","L54"), Array("F93", "L96"), Array("A1:B3","D2:E4"), Array("A5:A10"))

	'Zugriff auf Tabelle
	oTab=ThisComponent.Sheets(0) 'Tabelle auf der das geschehen soll, hier die 1.

	'Durchlauf durch alle Adressen
	for i=0 to uBound(adressen)
		quelle=oTab.getCellRangeByName(Adressen(i)(0)) 'woher
		if ubound(adressen(i))=0 then
			ziel=oTab.getCellRangeByName(Adressen(i)(0))	'wohin=woher
		else
			ziel=oTab.getCellRangeByName(Adressen(i)(1))	'wohin<>woher
		end if
		'Werte auslesen und schreiben
		ziel.setDataArray(quelle.getDataArray)
	next

End Sub

Re: Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

von balu » Fr, 16.12.2022 16:17

Hallo Ingo.

ich mache heute nur einen kurzen "Gastauftritt".

Dein Grundstein für dein Vorhaben ist die Arbeit mit:
.getDataArray
&
.setDataArray(...)

ACHTUNG_1!
Nur ein kurzer Beispiel-Code.

Code: Alles auswählen

Sub Kopiern

DIM oDok as Object, oZiel as Object, oStart as Object

oDok =  ThisComponent
oSchii = oDok.sheets '--- oSchii freier Variablennamen, um Blattnamen etwas kürzer zu schreiben
oStart = oSchii.getByName("Start")'<--- Blatt wo die Daten stehen
oZiel = oSchii.getByName("Ziel")'<--- Blatt wohin die Daten kopiert werden sollen

Dim aTempArray()  
aTempArray = oStart.getCellRangeByName("F51:F54 ").getDataArray
oZiel.getCellRangeByName(L93:L96").setDataArray(aTempArray)
End Sub
ACHTUNG_2!
Die Zellbereiche MÜSSEN IMMER gleich groß sein.
Hat der zu kopierende Bereich 3 Zellen, dann MUSS das Ziel auch 3 Zellen haben, und natürlich auch umgekehrt.

Vielleicht hilft dir das schon mal ein wenig weiter ;-)



Gruß
balu

Re: Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

von little fingers » Do, 15.12.2022 15:18

Hi Karolus!

Ich habe verschiedene Zellen, wo ich die Werte zu einem Zeitpunkt festhalten und fixieren möchte .
Das wären in etwa 30 Einträge (Seiten), die ich hier sonst per Hand übertragen müsste.
Schön wäre hier eine Automatisierung, wo automatisch per Tastendruck aus, einzelnen, bestimmten, festgelegten, Zellen, die jeweiligen Werte in
ebenfalls einzelnen, bestimmten, festgelegten, Zellen, kopiert werden sollen!
Das wäre schön, wenn das möglich wäre, daher Makro!!

LG Ingo

Re: Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

von Karolus » Do, 15.12.2022 14:05

Warum ein Makro??

→selektiere F51:F??→kopiere per <strg>c und füge das ganze in L54 per →→<strg><shift>v ein, ohne Option »alles« und ohne Option »Formeln«

[gelöst]Mit Makro Werte aus Formelergebnissen aus Zellen in andere kopieren und fixieren

von little fingers » Do, 15.12.2022 10:14

Hallo!
Ich würde gerne über ein Schalter (Makro) aus festgelegten Zellen die Werte, die Ergebnisse über eine Formel entstanden sind, in andere, ebenfalls festgelegte Zellen kopieren und fest kopieren und speichern wollen.

zum Beispiel:

F51 -> L54
F93 ->L96

usw. usw.

Kann mir da jemand helfen????

Ich hatte mal was gefunden, was mir aber nicht wirklich hilft!
sub GStundenbis2
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$F$51"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())


dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())


dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$L$54"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())


dim args4(5) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Flags"
args4(0).Value = "SV"
args4(1).Name = "FormulaCommand"
args4(1).Value = 0
args4(2).Name = "SkipEmptyCells"
args4(2).Value = false
args4(3).Name = "Transpose"
args4(3).Value = false
args4(4).Name = "AsLink"
args4(4).Value = false
args4(5).Name = "MoveMode"
args4(5).Value = 4

dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args4())

Gruß Ingo

Nach oben