AW: Zeilen tauschen
26.09.2008 21:43:23
Uwe
Hi amina,
ich bekomme das nur mit einer Hilfzelle hin (X1). Die kanns Du, wenn es sein muss in eine andere (versteckte) Tabelle verlegen.
Dann lautet der Code so:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column > 2 Or Target.Count > 1 Then Exit Sub
If Target.Column = 1 Then
Target.Copy Range("X1")
Target.Offset(0, 1).Copy Target
Range("X1").Copy Target.Offset(0, 1)
ElseIf Target.Column = 2 Then
Target.Copy Range("X1")
Target.Offset(0, -1).Copy Target
Range("X1").Copy Target.Offset(0, -1)
End If
End Sub
Das gehört ins Klassenmodul des Tabellenblattes. Da Du VBA nein angibst hier das Vorgehen:
Das Tabellenblatt wo es passieren soll öffnen.
Auf die Lasche des Tabellenblattes (z.B. Tabelle1) rechtsklicken und Code anzeigen anklicken.
Es öffnet sich der VBA Editor.
Oben in der Mitte steht (Allgemein), das runterklappen und Worksheet auswählen
Rechts daneben steht jetzt Selection change (Die neuen Zeilen darunter ignorier erst mal)
SelectionChange klappst Du auch runter und wählst Before Double Click aus.
Jetzt steht direkt darunter:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
End Sub
In den Zwischenraum zwischen diesen beiden Zeilen muss mein Code (da diese Zeilen in meinem Code schon enthalten sind muss Du nur den Teil dazwischen rauskopieren).
Jetzt kannst Du den Editor wieder schließen.
Bei Doppelklick auf eine einzelne Zelle in Spalte A wird jetzt diese in die danebenligende Zelle in Spalte B kopiert und die Zelle in Spalte B nach A. Bei doppelklick in Spalte B wird mit A getauscht.
Eventuell muss das ganze angepasst werden. Versuchs vielleicht selber (Target.Coloumn=1 ist Spalte, =2 Spalte B, die erste Zeile anzupassen ist vielleich etwas schwieriger) oder melde Dich nochmal hier. Ich schaue wahrscheinlich morgen wieder rein, aber vielleicht hilft Dir auch ein ander aus dem Forum.
Gruß
Uwe
(:o)