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. 🤗

Komplette Zeile verschieben (auschneiden und wieder einfügen)

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Micha_oO
Beiträge: 2
Registriert: Di 11. Jul 2017, 13:52

Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von Micha_oO » Di 11. Jul 2017, 14:08

Hallo Zusammen,

ich bin gerade dabei von MS Excel 2007 auf LibreOffice umzusteigen und bin deshalb auf der Suche nach einigen Funktionen, die ich von Excel kenne.

Eine davon ist, dass man in Excel recht einfach eine komplette Zeile auschneiden kann und diese an einer anderen Stelle einfügen kann.
Man schneidet dafür einfach die Zeile aus, markiert die Zeile über der die ausgeschnittene Zeile eingefügt werden soll und kann diese über das "rechtsklickmenü" wieder einfügen.
Mache ich dasselbe bei LibreOffice ist zum einen die ausgeschnittene Zeile immer noch vorhanden (nur halt leer) und zum anderen wird dort, wo ich die andere Zeile zum einfügen markiert habe, nicht die ausgeschnittene Zeile darüber eingefügt, sondern die markierte zeile wird überschrieben.
Natürlich kann ich jetzt vorher am Zielort eine leere Zeile einfügen, dann auschneiden und einfügen und schließlich am Ursprungsort die leere Zeile löschen; dies ist aber recht umständlich. Gibt es hier eine einfachere Lösung?

Gruß und vielen Dank im vorraus
Michael

Mondblatt24
Beiträge: 2838
Registriert: Fr 3. Mär 2017, 17:12

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von Mondblatt24 » Mo 24. Jul 2017, 21:49

Win 11 (x64) ▪ LO 24.2.1.2 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

Statistiker
Beiträge: 23
Registriert: Mi 7. Okt 2020, 16:47
Wohnort: Ostthüringen

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von Statistiker » Sa 24. Okt 2020, 19:37

Hi,
die Antwort befriedigt mich nicht richtig...
Ich arbeite oft mit großen Tabellen (über 1000 Zeilen). Wenn ich eine Zeile vom Ende (der untersten belegten Zeile) an den Anfang verschieben will, nehme ich dazu die Alt-Taste mit der gedrückten Maustaste und scrolle mich so durch das ganze Blatt bis zum Ziel. Erst dann kann ich loslassen und die "angefasste" Zeile wird eingefügt (verschoben). Dies ist eine unbefriedigende Lösung, die ein gewisses Maß an Feinmotorik benötigt.

Unter dem Menüpunkt "Tabelle" kann man Zeilen (oberhalb und unterhalb) sowie Spalten (davor und danach) einfügen. Es werden aber immer nur leere Zeilen bzw. Spalten eingefügt. Dies wird mir auch im Kontextmenü (re. Maustaste) angeboten. Eine Funktion wie bei Excel "ausgeschnittene Zeile / Spalte einfügen" fehlt bei LO/OO. Kann man so etwas nachprogrammieren?
Warum ist ein Kanaldeckel rund? Damit er nicht in den Kanal fallen kann...

norre
Beiträge: 385
Registriert: Di 16. Mai 2017, 08:18

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von norre » Sa 24. Okt 2020, 19:57

Hallo,
meintest du so?
Bild

Gruß
Norre
Libre Office Version: 7.2.5.2 (x64) unter Win 11

Statistiker
Beiträge: 23
Registriert: Mi 7. Okt 2020, 16:47
Wohnort: Ostthüringen

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von Statistiker » So 25. Okt 2020, 17:13

Hallo,
im Prinzip funktioniert es. AAABER was ist wenn man die vorletzte Zeile (oder noch eine davor oder noch eine weitere davor ...) nach ganz oben verschieben will — dann bleibt eine leer Zeile zurück. Ich hatte mich da wohl etwas unklar ausgedrückt. Jedenfalls habe ich beim Stöbern im Netz zwei Makros gefunden, die man dazu nehmen kann. Ich habe sie etwas "eingedeutscht" und sie funzen auch.
Die wurden dort mit dem Makro-Rekorder aufgezeichnet und bestehen aus zwei Routinen. In der ersten Prozedur wird der markierte Zeileninhalt in die Zwischenablage ausgeschnitten und die nun leeren Zeile(n) werden gelöscht. Alternativ lässt sich das Ausschneiden der ganzen Zeile nur aktivieren, wenn die ganze Zeile (also alle 1024 Spalten bis zur Spalte AMJ) markiert ist (Klick auf den linken Rahmen der Tabelle bzw. Shift+Leertaste).
In der zweiten Prozedur wird der Inhalt der Zwischenablage an der markierten Stelle eingefügt und die Zeilen rutschen nach unten. Von der Anzahl der in der ersten Routine markierten Spalten ist es abhängig wieviele Spalten nach unten geschoben werden.

So lässt sich also schnell eine Zeile vom unteren Teil einer Tabelle an die Spitze holen. Den beiden Makros kann man noch Shortcuts zuordnen, dann geht es noch schneller, Alt+C und Alt+V sind von Haus aus noch unbelegt. Ich habe sie in ein Extra-Menü gelegt.
Sub CopyAndCut
' ---------------------------------------------------------
' Variablen definieren
Dim document as object
Dim dispatcher as Object
Dim oSelections As Object
' ---------------------------------------------------------
' Bereich vorher markieren
document = ThisComponent.CurrentController.Frame
oSelections = ThisComponent.getCurrentSelection()
If IsNull(oSelections) Then Exit Sub
' ---------------------------------------------------------
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array()) ' Zeile wird nicht ausgeschnitten
dispatcher.executeDispatch(document, ".uno:Cut", "", 0, Array())
' dispatcher.executeDispatch(document, ".uno:DeleteRows", "", 0, Array() ' FEHLER
' ----------A l t e r n a t i v ----------------------
' Falls nachfolgende If-Verzweigung aktiviert ist, werden die ausgeschnittenen, leeren Zeilen
' nur gelöscht, wenn zuvor die ganze Zeile markiert worden war.
'
' Falls alle 1024 Spalten (bis Buchstabe AMJ) markiert wurden, wird die gesamte Zeile gelöscht
' If 1024 = oSelections.Columns.getCount() Then
dispatcher.executeDispatch(document, ".uno:DeleteRows", "", 0, Array())
' End If
' ---------------------------------------------------------------
End Sub

Sub InsertWithMoveDown
' ---------------------------------------------------------
' gilt auch für mehrere Zeilen
' Variablen definieren
Dim document as object
Dim dispatcher as object
' ---------------------------------------------------------
' Zugriff auf das Dokument
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' ---------------------------------------------------------
' Inhalt der Zwischenablage einfügen mit der
' "Inhalte einfügen ¦ Zellen nach unten verschieben"-Option
' Das geht auch mit mehreren Zeilen
Dim args1(5) as New com.sun.star.beans.PropertyValue
args1(0).Name = "Flags"
args1(0).Value = "A"
args1(1).Name = "FormulaCommand"
args1(1).Value = 0
args1(2).Name = "SkipEmptyCells"
args1(2).Value = false
args1(3).Name = "Transpose"
args1(3).Value = false
args1(4).Name = "AsLink"
args1(4).Value = false
args1(5).Name = "MoveMode"
args1(5).Value = 0 ' nach unten
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args1())
End Sub
Ich hoffe, die remarkten Erläuterungen snd ausreichend.
Beste Gryse
M icha:el
Warum ist ein Kanaldeckel rund? Damit er nicht in den Kanal fallen kann...

Evam
Beiträge: 19
Registriert: Fr 30. Mär 2018, 15:52

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von Evam » Do 9. Jun 2022, 12:02

Jetzt ist es Mitte 2022. Seit Openoffice 1.0 sind 20 Jahre vergangen. Das Verschieben von (mehreren) ganzen Zeilen ist aber immer noch entsetzlich unintuitiv und umständlich.

Da ich an mehreren Orten mit unterschiedlichen fremden Rechnern arbeite, ist das Installieren von Makros keine gute Option. Ich finde, es fehlt dringend eine ganz einfache Option, mit denen man ausgeschnittene oder kopierte Zeilen "hier oberhalb einfügen" bzw. "hier unterhalb einfügen" kann.

Könnte bitte jemand diesen Jubiläumswunsch an die Entwickler weiterleiten?

Vielen Dank und schöne Grüße
Eva

Mondblatt24
Beiträge: 2838
Registriert: Fr 3. Mär 2017, 17:12

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von Mondblatt24 » Do 9. Jun 2022, 12:06

Hallo,
Evam hat geschrieben:
Do 9. Jun 2022, 12:02
Könnte bitte jemand diesen Jubiläumswunsch an die Entwickler weiterleiten?
Selbst ist die Frau.

… einen Verbesserungsvorschlag machen



Gruß
Peter
Win 11 (x64) ▪ LO 24.2.1.2 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von craig » Do 9. Jun 2022, 15:09

Hallo,

  1. gewünschten Zeile/ Zeilen per Klick auf den Zeilen-Kopf markieren
  2. [ALT]-Taste gedrückt halten
  3. Mit der Maus den Cursor erfassen Maus und die Zeile/ Zeilen an die gewünschte Stelle verschieben.
Geht auch mit Spalten.

Mit zusätzlich gedrückter [STRG], also [STRG]+[ALT]+Maus kann kopiert werden.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Benutzeravatar
karolus
Beiträge: 2170
Registriert: Fr 10. Dez 2010, 10:01

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von karolus » Do 9. Jun 2022, 15:19

Ja… ich markiere ein paar Zeilen, ziehe sie dann drag&drop ans Ziel und drücke die <alt>taste bevor ich die maustaste loslasse…

ok zu spät…
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Evam
Beiträge: 19
Registriert: Fr 30. Mär 2018, 15:52

Re: Komplette Zeile verschieben (auschneiden und wieder einfügen)

Beitrag von Evam » Do 9. Jun 2022, 20:08

Danke Craig und Karolus!

Das ist gut und ich verwende das auch schon, aber in sehr großen Tabellen wird es leider ebenfalls sehr mühsam. Vor allem habe ich dann immer ein komisches Gefühl, ob nicht während dem Verschieben mit der Maus doch etwas schiefgegangen ist.

Ich hätte gerne einen Eintrag im Kontextmenü, "hier Zeilen aus Zwischenablage oberhalb einfügen", oder so ähnlich. Dann könnte ich in aller Ruhe suchen wo genau die ausgeschnittenen Zeilen hin müssen, und dann einfügen.

Peter: Mache ich.

Schöne Grüße
Eva

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