Makro "Inhalt der aktiven Zeile verschieben"

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Makro "Inhalt der aktiven Zeile verschieben"
von: Dirk
Geschrieben am: 15.03.2005 19:32:08
Hallo liebe Excelexperten,
leider bin ich bei der Rechere zu meinem Excelproblem bisher nicht fündig geworden, vielleicht könnt ihr mir helfen, dafür schon einmal herzlichen Dank!
Ziel:
Mit Hilfe eines Makros möchte ich eine Prioritätenliste steuern können, Zeilen-Einträge wandern in der Tabelle und somit Priorität nach oben bzw. nach unten:
In einer Tabelle steht in den Zellen der Spalte B bis z.B. Spalte F beliebiger Text. Wenn sich nun z.B. der Curor in B8 befindet, möchte ich mit Hilfe eines Makros den Inhalt der Zellen B8 bis F8 wahlweise eine Zeile nach oben (auf B7 bis F7)oder unten (B9 bis F9) verschieben. Der Inhalt der entsprechenden anderen Zellen soll dann dabei entsprechend also nach unten (B7 bis F7 dann auf B8 bis F8)bzw. oben verschoben werden. Der Cursor soll bitte mitlaufen, damit ich beim mehrmaligen Ausführen des Makros, z.B. über einen Button, den Eintrag auch gleich mehrere Zeilen wandern lassen kann.
Vielen Dank für die Hilfe schon mal im Voraus!
Gruß Dirk

Bild

Betrifft: AW: Makro "Inhalt der aktiven Zeile verschieben"
von: Uwe Küstner
Geschrieben am: 17.03.2005 14:54:10
Hallo Dirk,
hier eine Version mit einem Drehen-Schaltfläche(SpinButton).
Füge aus der Steuerelemente-Toolbox einen Spinbutton in die Tabelle ein.
Öffne mit Rechtsklick auf diesen Button - Code anzeigen den VBA-Editor.
Füge in das rechte Codefenster folgendes ein:
Private Sub SpinButton1_SpinDown()
Application.ScreenUpdating = False
SpinButton1.Visible = False
With Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 6))
If .Row < Rows.Count - 1 Then
.Cut
.Offset(2, 0).Insert Shift:=xlDown
.Offset.Activate
End If
End With
SpinButton1.Visible = True
Application.ScreenUpdating = True
End Sub
Private Sub SpinButton1_SpinUp()
Application.ScreenUpdating = False
SpinButton1.Visible = False
With Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 6))
If .Row > 1 Then
.Cut
.Offset(-1, 0).Insert Shift:=xlDown
.Offset.Activate
End If
End With
SpinButton1.Visible = True
Application.ScreenUpdating = True
End Sub

Code eingefügt mit: Excel Code Jeanie

Schließe den VBA-Editor.
Beende den Entwurfsmodus.
Jetzt sollte es schon gehen.
Gruß Uwe
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro "Inhalt der aktiven Zeile verschieben""