ich habe zwei Buttons in meiner UserForm für das Verschieben von ListBox Einträge nach oben und nach unten.
Aber wie müssen diese abgeändert werden, damit die Markierung immer auf dem ausgewählten Eintrag stehen bleibt (aktuell verschwindet die Markierung nach dem verschieben)?
Zudem sollen die ersten zwei Zeilen der ListBox nicht verschoben werden dürfen, Ideen?
Hier die Codes:
Private Sub CommandButton2_Click()
'Zeile ändern
Sheets("Notizen").Select
If ListBox1.ListIndex = -1 Or _
ListBox1.ListIndex = 0 Or _
ListBox1.ListIndex = 1 Then
Exit Sub
End If
If TextBox1.Text = "" Then
Exit Sub
End If
Dim Zeile
Zeile = Notizen.ListBox1.ListIndex + 1
Sheets("Notizen").Range("A" & Zeile) = TextBox1
ListBox1.RowSource = "Notizen!A1:A" & Sheets("Notizen").Range("A1").End(xlDown).Row
End Sub
Private Sub CommandButton3_Click()
'Zeile nach oben verschieben
Dim sRS As String
With ListBox1
sRS = .RowSource
If .ListIndex > 0 Then
With Range(.RowSource)
With .Cells(ListBox1.ListIndex + 1)
.Cut
.Offset(-1).Insert Shift:=xlDown
End With
End With
End If
.RowSource = ""
.RowSource = sRS
Repaint
End With
End Sub
Vielen Dank für eure Anregungen!
Gruß Yansop.