BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> 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. 🤗
[GELÖST] Arbeitsblatt nur mit Werten und Formaten duplizieren
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
Diesen Code habe ich auf 5 Arbeitsblätter erweitert und angewendet.
Hat bis auf ein paar Formatierungsprobleme auch gut funktioniert.
Hier je ein Beispiel ohne und mit Formatierungsproblem
Ohne Formatierungsproblem rechtsbündig als Dezimalzahl -1.234,57 € formatiert.
> = nach ausführen des Codes.
Zelle G:19 =$'Probe1-2'.D127 40,00 € > 40,00 €
Mit Formatierungsproblem linksbündig als Text @ formatiert.
Zelle G20 =$Probe2.D127 42,75 € > 42,74
Bei den Summenzellen die diese Werte enthalten sieht es genau so aus.
Im Original-Arbeitsblatt sind beide Zellen als Dezimalzahl -1.234,57 € formatiert.
Auch wenn ich Probe2 in ' ' schreibe entsteht dieses Formatierungsproblem und die ' ' sind nach Ausführung des Codes im Original-Arbeitsblatt nicht mehr vorhanden.
Ich hoffe das Formatierungsproblem verständlich genug beschrieben zu haben.
Zwei Bilder sagen mehr als viele Worte.
Hat bis auf ein paar Formatierungsprobleme auch gut funktioniert.
Hier je ein Beispiel ohne und mit Formatierungsproblem
Ohne Formatierungsproblem rechtsbündig als Dezimalzahl -1.234,57 € formatiert.
> = nach ausführen des Codes.
Zelle G:19 =$'Probe1-2'.D127 40,00 € > 40,00 €
Mit Formatierungsproblem linksbündig als Text @ formatiert.
Zelle G20 =$Probe2.D127 42,75 € > 42,74
Bei den Summenzellen die diese Werte enthalten sieht es genau so aus.
Im Original-Arbeitsblatt sind beide Zellen als Dezimalzahl -1.234,57 € formatiert.
Auch wenn ich Probe2 in ' ' schreibe entsteht dieses Formatierungsproblem und die ' ' sind nach Ausführung des Codes im Original-Arbeitsblatt nicht mehr vorhanden.
Ich hoffe das Formatierungsproblem verständlich genug beschrieben zu haben.
Zwei Bilder sagen mehr als viele Worte.
Zuletzt geändert von Ich Bins am Mi 17. Nov 2021, 22:29, insgesamt 1-mal geändert.
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
Versuchs mal mit
in der for each … next -Schleife
Code: Alles auswählen
cellrange.DataArray = cellrange.DataArray
Zuletzt geändert von karolus am Di 16. Nov 2021, 14:09, insgesamt 1-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
Hallo karolus,
besten Dank. Das war die Lösung des Formatierungsproblems.
Viele Grüße
Ich Bins
besten Dank. Das war die Lösung des Formatierungsproblems.
Viele Grüße
Ich Bins
Zuletzt geändert von Ich Bins am Mi 17. Nov 2021, 22:29, insgesamt 1-mal geändert.
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
Hallo
Bitte editiere den Titel deines Ausgangsposts, und entferne VBA:
Bitte editiere den Titel deines Ausgangsposts, und entferne VBA:
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
deine eigenen Beiträge kannst du ja auch editieren,
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
Hallo karolus,
Ich habe Deinen Vorschlag so
umgesetzt.
Jetzt sind aber noch alle Verknüpfungen vorhanden.
Viele Grüße
Ich Bins
Zunächt war ich der Meinung, das ist die Lösung, es war aber ein Trugschluss.
Ich habe Deinen Vorschlag so
Code: Alles auswählen
for each cellrange in formula_query
cellrange.DataArray = cellrange.DataArray
'cellrange.FormulaArray = cellrange.DataArray
next
Jetzt sind aber noch alle Verknüpfungen vorhanden.
Viele Grüße
Ich Bins
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
Hallo
Basic ist einfach völlig kaputt und unberechenbar, … aber egal, mit
tuts dann hoffentlich.
(zur Info: manche Sachen teste ich mit analogen Code aber in Python)
Basic ist einfach völlig kaputt und unberechenbar, … aber egal, mit
Code: Alles auswählen
cellrange.setDataArray(cellrange.DataArray)
(zur Info: manche Sachen teste ich mit analogen Code aber in Python)
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
Hallo karolus,
das müsste es jetzt wirklich gewesen sein, Danke.
das müsste es jetzt wirklich gewesen sein, Danke.
Re: Arbeitsblatt nur mit Werten und Formaten duplizieren
Ein weiteres Problem ist mir aufgefallen.
Im Arbeitsblatt Original befindet sich in einigen als Dezimalzahl-Standard formatierten Zellen die Funktion =TEXT(Daten.C26;"JJJJ")+1
die als 2021 angezeigt wird.
Im Arbeitsblatt Daten befindet sich in der als Datum-31.12.1999 formatierte Zelle C26
01.01.2020
Mit nachfolgendem Code erstelle ich das Arbeitsblatt Kopie_2021 des Arbeitsblattes Original in der nur dessen Werte und Formatierungen enthalten sein sollen.
Der Code funktioniert bei einigen Arbeitsblättern problemlos nur mit der Funktion =TEXT(Daten.C26;"JJJJ")+1 gibt es ein Problem.
Nach dem Ausführen des Codes befindet sich im Arbeitsblatt Kopie_2021 in den entsprechenden Zellen nicht 2021 sondern 1900.
Wie wird aus 2021 in der Kopie 2021 ?
Viele Grüße
Ich Bins
Im Arbeitsblatt Original befindet sich in einigen als Dezimalzahl-Standard formatierten Zellen die Funktion =TEXT(Daten.C26;"JJJJ")+1
die als 2021 angezeigt wird.
Im Arbeitsblatt Daten befindet sich in der als Datum-31.12.1999 formatierte Zelle C26
01.01.2020
Mit nachfolgendem Code erstelle ich das Arbeitsblatt Kopie_2021 des Arbeitsblattes Original in der nur dessen Werte und Formatierungen enthalten sein sollen.
Der Code funktioniert bei einigen Arbeitsblättern problemlos nur mit der Funktion =TEXT(Daten.C26;"JJJJ")+1 gibt es ein Problem.
Code: Alles auswählen
Sub Jahresproblem
doc = thisComponent
sheets = doc.Sheets
copyName = "Kopie_"& Year(Date)
sheets.copyByName("Original",CopyName,11)
sheet = sheets.getByName(CopyName)
formula_query = sheet.queryContentCells(16)
for each cellrange in formula_query
cellrange.setDataArray(cellrange.DataArray)
next
End Sub
Wie wird aus 2021 in der Kopie 2021 ?
Viele Grüße
Ich Bins
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 ❤️