Clever-Excel-Forum

Normale Version: Verschieben von Werten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen!

Ich habe einen VBA Code der nach Betätigung eine gesamte ausgewählte Zeile um eins nach oben verschiebt. 
Dabei verschiebe ich immer die gesamte Zeile und nicht wie versucht den Bereich B:I.

Code:
Private Sub CommandButton3_Click()
'Zelle auswählen und markierten Bereich nach oben verschieben.

With Intersect(Selection.EntireRow, Range("B:I"))
   .Cut
   .Cells(1, 1).Offset(-1, 0).Insert shift:=xlDown
End With
End Sub


Funktioniert gut, nur möchte ich, dass nicht die gesamte Zeile, sondern nur die aktuelle Auswahl verschoben wird. Wie müsste ich den Code dementsprechend anpassen?

Analog dazu hätte ich das nach unten verschieben so gemacht:

Code:
Private Sub CommandButton3_Click()
'Zelle auswählen und markierten Bereich nach unten verschieben.

With Intersect(Selection.EntireRow, Range("B:I"))
   .Cut
   .Cells(1, 1).Offset(1, 0).Insert shift:=xlDown
End With
End Sub

Danke und Gruß
Sub test()
Selection.Cut
Selection.Offset(-1, 0).Select
ActiveSheet.Paste

End Sub

LG
Alexandra
Danke! Habe cut durch copy ersetzt, da ich einigen Spalten auf die Bereiche verweiße und 'Cut' mir einen Bezugsfehler erzeugt. 

Ist aber auch nicht so wirklich eine gute Lösung da ich ja am Ende eine manuelle Sortierung der Zeilen möchte. D.H. wenn ich einen Bereich in einer Zeile auswähle, und diesen dann nach oben / unten verschiebe, dass der über der Auswahl liegende Bereich entsprechend die Position mit dem ausgewählten Bereich tauscht.

Ich möchte also eine Liste bei der die jeweilige Auswahl innerhalb dieser Liste nach oben/unten verschoben werden kann. Die Position der anderen einträge muss entsprechend angepasst werden. Ist sowas überhaupt möglich?

[attachment=23038]
Ja perfekt, danke!