Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Verschieben von Werten
#1
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ß
Antworten Top
#2
Sub test()
Selection.Cut
Selection.Offset(-1, 0).Select
ActiveSheet.Paste

End Sub

LG
Alexandra
[-] Folgende(r) 1 Nutzer sagt Danke an cysu11 für diesen Beitrag:
  • diving_excel
Antworten Top
#3
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?


.xlsm   Test - Kopie.xlsm (Größe: 21,11 KB / Downloads: 1)
Antworten Top
#4
Hilft Dir das weiter?
https://www.clever-excel-forum.de/thread...#pid153134
[-] Folgende(r) 1 Nutzer sagt Danke an cysu11 für diesen Beitrag:
  • diving_excel
Antworten Top
#5
Ja perfekt, danke!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste