ich hatte bereits u diesem Thema einen Post hier
https://www.herber.de/cgi-bin/callthread.pl?index=1616030
ich habe dort folgenden Code erhalten.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lngZeile As Long, lngSpalte As Long
Dim lngColumn As Long, blnOrder As Boolean
Cancel = True
If Target.Value = "" Then Exit Sub
If Target.Row = 2 Then 'Doppelklick in Zeile 2
lngZeile = Range("A" & Rows.Count).End(xlUp).Row 'letzte befüllte Zeile in Spalte A
lngSpalte = Cells(2, Columns.Count).End(xlToLeft).Column 'letzte befüllte Spalte in zeile _
2
If Target.Column = lngColumn Then
blnOrder = IIf(blnOrder = 0, -1, 0)
Else
lngColumn = Target.Column
blnOrder = -1
End If
'Bei Sortierung nach Namen wird der Vorname als 2. Sortierschlüssel aufgenommen,
'Bedingungen: 1. Spalte "Vorname" muss direkt rechts neben Spalte "Name" liegen,
If blnOrder = True Then
'Es wurde bereits geklickt, also jetzt absteigend sortieren
If Target = "Nachname" Then
Range(Range("A2"), Cells(lngZeile, lngSpalte)).Sort Key1:=Target, Order1:=blnOrder + 2, Key2: _
=Target. _
Offset(0, 1), Order2:=blnOrder + 2, order3:=xlAscending, Header:=xlYes
Else
Range(Range("A2"), Cells(lngZeile, lngSpalte)).Sort Key1:=Target, Order1:=blnOrder + 2, _
order3:=xlAscending, Header:= _
xlYes
End If
'und Variable auf False setzen
blnOrder = False
Else
'Variable steht auf false, also wieder aufsteigend sortieren
If Target = "Nachname" Then
Range(Range("A2"), Cells(lngZeile, lngSpalte)).Sort Key1:=Target, Order1:=blnOrder + 2, Key2: _
=Target. _
Offset(0, 1), Order2:=blnOrder + 2, order3:=xlDescending, Header:=xlYes
Else
Range(Range("A2"), Cells(lngZeile, lngSpalte)).Sort Key1:=Target, Order1:=blnOrder + 2, _
order3:=xlDescending, Header:= _
xlYes
End If
'und Variable auf true setzen
blnOrder = True
End If
ElseIf Target.Column = 12 Then 'Doppelklick in Spalte L
'E-mail Adresse durch Doppelklick auf die Spalte der E-Mail Adresse als E-Mail formatieren
If IsValidMailAddress(Target) Then
Cancel = True
Me.Hyperlinks.Add Anchor:=Target, Address:="mailto:" & Target.Text, TextToDisplay:= _
Target.Text
End If
End If
End Sub
code>allerdings funktioniert die absteigende Sortierung nicht, was ich nicht ganz verstehe, da dies ja über die Variable blnOrder ja entweder auf True oder false gesetzt wird.
Wer weiß da rat?
Danke und Gruß