Alle Lagen auf einmal kopieren

Hallo zusammen,

nachdem ich jetzt einige Zeit vergeblich im Forums-Archiv gewühlt habe (und nebenbei auf viele interessante Tipps gestoßen bin), hoffe ich, dass mir hier jemand weiterhelfen kann.

Folgende Situation: Ich habe ein Rechenblatt mit mehreren Lagen und möchte ganze Datensätze (Zeilen oder benachbarte Zellen) komplett (alle Lagen) kopieren, z.B. Lage 1-5, Zeile 20, Zelle 8–12 in Zeile 31, Zelle 8–12, ohne 5x die Lage wechseln zu müssen und die Zellbereiche einzeln zu kopieren.

Gibt es da einen Trick/Kurzbefehl/AppleScript, den ich noch nicht kenne, oder muss ich mir ein Script basteln? Vielleicht hat das schon mal jemand gemacht?

Herzliche Grüße an alle
Steffen

Re: Alle Lagen auf einmal kopieren

#13944 On 4 November, 2025 20:58 Thomas Kaegi said,

Hallo Steffen

Ich bin nicht sicher, ob ich dein Anliegen richtig verstanden habe. Ich habe Folgendes versucht:

Ich habe in einem Layout zwei Container, in welchen das gleiche Rechenblatt R1 sichtbar ist. Im ersten Container ist Lage 1 zu sehen, im zweiten die letzte Lage – in meinem Versuch Lage 2. Ein weiterer Container enthält ein zweites Rechenblatt (R2), das gleich viele Lagen wir R1 aufweist. In diesem dritten Container ist Lage 1 von R2 sichtbar. In R1 enthalten alle Zellen A1:C3 in beiden Lagen Werte. R2 ist leer.

Nun wähle ich im ersten Container Zelle A1 (also in Lage 1), drücke die Umschalttaste und wähle im zweiten Container (also in Lage 2 von R1) die Zelle C3. Damit ist der Bereich [1]A1:[2]C3 ausgewählt. Ich kopiere den ausgewählten Bereich, wähle im dritten Container Zelle A1 (von Lage 1 von R2) und setze die Zwischenablage ein. Nun hat R2 im Bereich [1]A1:[2]C3 den genau gleichen Inhalt wie R1.

Diese Art des Vorgehens ist natürlich auch mit Rechenblättern mit mehr als 2 Lagen und für beliebige Bereiche anwendbar. Auch kann die Position des Zielbereichs gegenüber der Position in R1 verschoben sein.

Sollen die Bereichsgrenzen und die Position des Zielbereichs variabel sein, so lässt sich das mit einem Script lösen, welchem die Koordinaten (Lage, Spalte, Zeile) des Quellbereichs und die Position der ersten Zelle des Zielbereichs entweder in einem Rechenblatt oder in einem Dialog vorgegeben werden, Das Script ist auch dann sinnvoll, wenn die Rechenblätter gar nicht in einem Layout liegen, sondern nur in eigenen Fenstern vorhanden sind. Das Script für den von mir versuchten Ablauf würde so aussehen:

tell application "RagTime 7"
	activate
	select range "A1:[2]C3" of table "R1" of document 1
	copy
	select cell "A1" of table "R2" of document 1
	paste
end tell

Gruss, Thomas

Re: Alle Lagen auf einmal kopieren

#13950 On 8 November, 2025 20:24 Milchmeyer said,

Hallo Thomas,

Du sagst zwar, dass Du nicht der script-König bist, aber diese Lösung ist so simpel, das ist schon genial.
Ich hätte das ganz sicher mit Bordmitteln in Ragtime gemacht, aber Deine Lösung ist einfacher.

Vielen Dank für diesen Denkanstoß.

Mathias

Re: Alle Lagen auf einmal kopieren

#13942 On 4 November, 2025 19:59 Süppel said,

Manchmal lassen sich mehrstufige Routinen einfacher und schneller mit einem externen Makro-Tool umsetzen.
Für macOS verwende ich zum Beispiel Keyboard Maestro (keyboardmaestro.com).
Mit diesem Tool kann man praktisch alles auf dem Mac automatisieren.

Re: Alle Lagen auf einmal kopieren

#13941 On 4 November, 2025 19:58 Milchmeyer said,

Hallo Steffen,

die Aufgabe kannst Du über einen Suchlauf lösen und die Lagen auslesen und mit SetzeZelle woanders hinschreiben.
Ein Script ist für nicht nötig.

Mit freundlichem Gruß
Mathias Milchmeyer

Re: Alle Lagen auf einmal kopieren

#13943 On 4 November, 2025 20:00 Milchmeyer said,

Hier ein Beispiel von Jürgen Schell:

Beispiel: In »Rechenblatt 1« hab ich in den Zellen B1 von Lage 1 bis 10 Werte stehen.

In einem zweiten Rechenblatt hab ich in einer Zelle in der ersten Zeile die Formel: »Index(Rechenblatt 1!$B$1:[10]$B$1;Zeile)«. Die Zelle hab ich zehn Zeilen weit nach unten aufgefüllt. Schon erscheinen die Werte aus den zehn Lagen in dieser Tabelle untereinander.

Mit freundlichem Gruß
Mathias Milchmeyer

Re: Alle Lagen auf einmal kopieren

#13947 On 6 November, 2025 13:24 jacques villars said,

Hallo Mathias,
Wo kann ich das Beispiel von Jürgen Schell finden ?
Grüsse,
jacques

Re: Alle Lagen auf einmal kopieren

#13948 On 6 November, 2025 21:05 Milchmeyer said,

Hallo Jaques,

das war in der mailingliste von Macnews am 06.12.2011 mit dem Betreff "Suchlauf über mehrere Lagen im Rechenblatt"
Im Forum ist das hier:
http://experts.ragtime.de/experts/node/3369

Mit freundlichem Gruß
Mathias Milchmeyer

Re: Alle Lagen auf einmal kopieren

#13949 On 8 November, 2025 16:21 jacques villars said,

Hallo Mathias,
Danke schön und freundliche Grüße,
jacques

Re: Alle Lagen auf einmal kopieren

#13945 On 4 November, 2025 22:45 Steffen said,

Wow, das ist ja ein Feuerwerk von tollen Lösungen!

Werd ich morgen alle mal ausprobieren.

Vielen vielen Dank Euch allen und liebe Grüße
Steffen

Re: Alle Lagen auf einmal kopieren

#13946 On 5 November, 2025 22:58 Steffen said,

Also, ich hab es folgendermaßen gelöst:

Die zu kopierenden Daten liegen in Zellen F…K in den Lagen 2…6 des Rechenblatts "Daten".

Ich möchte nun die Daten aller 5 Lagen 2…6 dieser 6 Zellen F…K z.B. des Datensatzes Zeile 333 in die jeweiligen Zellen in Zeile 337 kopieren.

Hierzu habe ich eine eigene Zeile (hier: Zeile 5) in einem separaten Rechenblatt reserviert und wie folgt belegt:
A5: 333 (Eingabe der Quellzeile)
B5: 337 (Eingabe der Zielzeile)
C5: Formel: RechneText(D5) (Aus den MetaFormeln)
D5: Formel: 'Suchlauf(Daten![2]$F$'&A5&':[6]$K$'&A5&';NICHT IstFehl(LfdZelle);;SetzeZelle(LfdZelle;Daten![2]$F$'&B5&':[6]$K$'&B5&';LfdIndex))'
daraus entsteht in D5 der von RechneText in Zelle C5 zur Formel umgesetzte Zellinhalt:
Suchlauf(Daten![2]$F$333:[6]$K$333;NICHT IstFehl(LfdZelle);;SetzeZelle(LfdZelle;Daten![2]$F$337:[6]$K$337;LfdIndex))

Mit dem Suchlauf werden also alle Daten aus den Quellzellen Daten![2]$F$333:[6]$K$333 direkt in die entsprechenen Zellen Daten![2]$F$337:[6]$K$337 der Zielzeile kopiert.

Jede Änderung der Quell- oder Zielzeile (in A5 resp. B5) führt zum sofortigen Kopieren, d.h. man sollte tunlichst immer erst die Zielzeile angeben und dann erst die Quellzeile, da sonst möglicherweise unbeabsichtigt der letzte Kopiervorgang überschrieben wird.

Kann man sicher noch optimieren, aber für mich passt es super!

Vielen Dank nochmal an alle für die Hilfe!

Steffen