Kann man bei Excel Zeilen gegeneinander tauschen b

Würde gerne Zeile A gegen Zeile B tauschen ohne eine neue Zeile einzufügen und Copy/Paste.

Hallo,
da solltest du etwas konkreter werden was du vor hast, das ist der übliche Weg.
Leere Spalte einfügen >Spalte verschieben > Leere Spalte löschen.

Gruß Holger

Hi,

was meinst Du: Spalte A oder Zeile 1? Mal für die Zeile:

  • Zeile 2 markieren (Klick auf die 2 oder Shift + Leertaste)

  • Bearbeiten > Ausschneiden (Strg + X)

  • Rechtsklick auf Zelle A1

  • „Ausgeschnittene Zellen einfügen“ wählen

Bei Spalten genauso (Markieren mit Strg + Leertaste).

HTH.

Markus
___________________
Und…

Nicht direkt m.T.

Würde gerne Zeile A gegen Zeile B tauschen ohne eine neue
Zeile einzufügen und Copy/Paste.

Hallo ibe,

ich freue mich wenn sich jmd. an die Anfrageform:

Anrede, Frage, Gruß, name

hält.

Wie schon gesagt, Zeile A gibt es nicht.

Tauschen von Zellinhaltn geht in Excel und Vba nicht direkt. Es geht immer nur mit einem Zwischenspeicher. Je nachdem kann das eine Zelle, eine Zeile, eine Spalte, eine Variable usw. sein.

Gruß
Reinhard

Grüezi ibexxx

Würde gerne Zeile A gegen Zeile B tauschen ohne eine neue
Zeile einzufügen und Copy/Paste.

Was denn nun - Zeilen oder Spalten?

Aufgrund der Bezeichnungen gehe ich davon aus, dass Du Spalte A und B gerne vertauschen möchtest - gehe dazu wie folgt vor:

  • Spalte A komplett markieren (über den Spaltenkopf oben)
  • Umschalt-Taste drücken und gedrückt halten
  • Mauscursor auf die rechte Umrandung der markierten Spalte A führen (weisser ±Cursor wird zu Verschiebe-Cursor)
  • linke Maustaste drücken und gedrückt halten
  • Nach links ziehen bis die graue Markierung zwischen Spalte B und C liegt.
  • Maustaste loslassen

Nun sind die beiden Spalten vertauscht, was aber nur dann klappt wenn die Spalten nebeneinander liegen - ansonsten braucht es zwei dieser Verschiebe-Aktionen.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Reinhard,

Tauschen von Zellinhaltn geht in Excel und Vba nicht direkt. Es geht immer nur mit einem Zwischenspeicher. Je nachdem kann das eine Zelle, eine Zeile, eine Spalte, eine Variable usw. :sein.

Hst Du meine Lösung mal ausprobiert? Die funktioniert auch bei nicht benachbarten Zellen.

Natürlich verwendet sie das Windows-Clipboard als Zwischenspeicher. Aber ist das angesichts der neuen Office-Zwischenablage (ab XP, glaube ich) nicht volllkommen egal?

Übrigens in diesem Zusammenhang noch ein nettes Gadget aus uralten Zeiten (ist zwar in Word, erwähne ich aber hier, weil Thomas und Du auch dort tätig sind und es sich auch um eine Bewegungsoperation handelt):

  • In Word halte ich biem Schreiben oft Wörter, die a) schwierig zu schreiben sind und b) nur in einem bestimmten Textteil häufig vorkommen, in der Zwischenablage, weil mir die Definition eines Autotexts übertrieben scheint. Dennoch würde ich manchmal gerne Texte verschieben und kopieren, ohne daß dieses schwierige Wort aus der Zwischenblage gelöscht wird.

  • In Word kann man den markierten Text mit F2 verschieben und mit Strg+F2 kopieren:
    Ist Text markiert und drückt man die Tastenkombination, erscheint in der Statuszeile* „Wohin verschieben/kopieren“. Der Cursor wird gestrichelt. Man bewegt ihn mit Maus oder Tastatur und führt mit Enter die angewählte Aktion aus. (Ich finde das total gut und nutze es ausführlich.)

Um auf meinen ursprünglichen Gedanken zurückzukommen:
Word nutzt sicherlich auch dabei einen wie auch immer gearteten Zwischenspeicher. Auch deshalb, nicht nur wegen der neuen Office-Zwischenablage, scheint mir bei der Beantwortung des Ursprungsposts dieser Umstand nicht wesentlich zu sein. Eher geht es doch darum, daß es funktioniert, auch wenn es (wie F2/Shift+F2) nicht so einfach zu bedienen ist.
Bin ich da zu puristisch?

Gruß

Markus

_______________
* Das war übrigens eine geile (oh, 'tschuldigung!) Sache: früher konnte man mit MsgBox…, -8 Meldungen in der Statuszeile anzeigen, die sofort verschwanden, wenn man einfach weiterschrieb.
Application.StatusBar ist dagegen „nachhaltiger“, will heißen: braucht wie die heutige MsgBox auch eine bestimmte Aktion, damit sich die Anzeige zurückstellt.

Hallo Markus,

so richtig interessiert bin ich an Tricks/Kniffen in Excel/Word nur dann wenn ich sie auch sehr oft brauche, dann sind sie Gold wert.

Sehr interessiert bin ich aber an etwas anderem.
Ich hab WinXP und z.B. XL2000.

Nun kommt gelegentlich ein Fensterchen der Zwischenablage (ich weiß gar nicht ob von Excel oder von Windows) in dem man 12 Felder sieht. Wirkt so als ob die Zwischenablage 12 verschiedene „Objekte“ speichern kann.

In Vba kenne ich nun nur GetFromClipboard und PutInClipboard.
Das bezieht sich scheinbar auf EINE Zwischenablage.

Wie komme ich an diese 12 Zwischenablagen dran?
Das würde mich interessieren, also wie man die einzeln befüllt, ausliest usw.

Gruß
Reinhard

Hallo Reinhard,

so richtig interessiert bin ich an Tricks/Kniffen in Excel/Word nur dann wenn ich sie auch sehr oft brauche, dann sind sie Gold wert.

Ich auch. Und deshalb gebe ich das weiter, was ich mir angelesen bzw. erarbeitet habe.

Nun kommt gelegentlich ein Fensterchen der Zwischenablage in dem man 12 Felder sieht. Wirkt so als ob die Zwischenablage 12 :verschiedene „Objekte“ speichern kann.

Das ist aber die „Zwischenablage“ von Office. Das ist eine (fast normale) Office-Symbolleiste, die auch im Original so heißt (Commandbars(„ClipBoard“)). Das hat aber nix mit Windows zu tun.

In Vba kenne ich nun nur GetFromClipboard und PutInClipboard. Das bezieht sich scheinbar auf EINE Zwischenablage.

Ja, auf die Windows-Zwischenablage.

Wie komme ich an diese 12 Zwischenablagen dran? Das würde mich interessieren, also wie man die einzeln befüllt, ausliest usw.

Ich hab dann ein wenig rumgeforscht. Es ist so:

  • Die Symbolleiste „Zwischenablage“ ist eine ganz normale Office-Symbolleiste. Allerdings läßt sie sich überhaupt nicht wie andere Office-Symbolleisten bearbeiten. Dies deshalb, weil sie ein ganz primitives Gadget ist, das aber großen Eindruck erweckt.

  • Ein Mitlesen ihrer Aktivität per Makroaufzeichnung zeigt: die Office-Zwischenablage-Symbolleiste (nachfolgend „OZS“) liest einfach jedes Selection.Copy mit.

  • Für jedes Selection.Copy wird ein neues Control mit der Caption des kopierten Textes und der FaceID 3632 angelegt. Wird jedoch ein Text mehrmals nacheinander kopiert, wartet Office ab und legt kein neues Control an.

  • Würden mehr als 12 solcher Controls angelegt, fragt Office, ob es für diesen Control den ersten Control löschen und die anderen entsprechend verschieben soll.

  • Die Controls 1 bis 4 der OZS simulieren eine „Menüzleiste“ in der OZS. Total simpel: wegen der unveränderlichen Größe der Symbolleiste scheinen sie sich über den „Clipboard“-Einträgen zu befinden.
    Die „Clipboard“-Einträge erreicht man also mit Controls(5) usw. Allerdings ist die ganze Symbolleiste nicht veränderbar, d.h. sie werden nur über Selection.Copy befüllt.

Weitere Spielereien meinerseits deuten darauf hin, daß Selection.Copy einen anderen Mechanismus anstößt, der irgendwie die Windows-Zwischenablage ausliest und nach ihrem Inhalt bearbeitet. Darauf deutet hin, daß mehrfach aufeinanderfolgendes Kopieren des gleichen Textes nur zur Anlage eines Controls auf der OZS führen.

Allerdings ist dies vollkommen gekapselt. Deshalb gibt es m.E. keine sinnvolle Nutzung der OZS (allein schon wegen der unveränderlichen Größe), sondern nur ein Anreiz, das für die Praxis angemessen nachzubauen (was nicht allzu schwer sein dürfte).
Für mich kommt das nicht in Frage, denn ich verwende, wie an anderer Stelle schon ausführlich dargestellt, für so 'was AutoTexte.

Gruß

Markus