Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

sortieren

sortieren
29.01.2017 15:50:39
Thomas
Hallo Excelfreunde,
meine daten beginnen in zeile 5 ( mit Überschrift )
nun möchte ich gern das die Daten der tabelle bei doppelklick in einer Zelle Zeile 5
Sortiert werden.
Dazu habe ich diesen Versuch gestartet
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row = 5 And Target.Value  "" Then
Cells.Sort Key1:=Target, order1:=xlDescending, Header:=xlYes
Cancel = True
End If
End Sub
.
Leider erhalte ich die Meldung " Diese Sortiermethode kann nicht ausgeführt werden.
Wichtig ist noch das Die Daten als Tabelle formatiert und somit der autofilter gesetzt ist.
Weiss jemand wie ich dies besser machen könnte?
mfg thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sortieren
29.01.2017 16:05:33
Hajo_Zi
Hallo Thomas,
beginnen Deine Daten nicht in Zeile?
also Range("A5).sort ...
zeichne das sortieren mal mit dem Makrorecordeer auf.

AW: sortieren
29.01.2017 16:14:05
Gerd
Hallo Thomas!
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Me.ListObjects(1).HeaderRowRange) Is Nothing Then
Me.ListObjects(1).Range.Sort Key1:=Target.Offset(1), order1:=xlDescending, Header:=xlYes
Cancel = True
End If
End Sub

Gruß Gerd
man ist das cool besten dank Gerd
29.01.2017 16:21:45
Thomas
Hallo Gerd und Hajo,
Gerd das ist ein Volltreffer und dann auch noch so schnell.
Es klappt super hab recht viele vielen dank dafür.
Ich wünsche noch ein ruhiges WE.
liebe grüsse thomas
Anzeige
ups habe doch noch zwei kleine fragen
29.01.2017 16:45:35
Thomas
Hallo Gerd,
habe doch noch zwei kleine fragen.
Woher weiss das Macro das es ab zeile 5 sortieren muss? Das ist zauberei.
Und wie kann ich es abwechseld sortieren.
Einmal doppelklick> absteigend
nochmal klick > aufsteigend
ich dachte es geht mir einer Variable aber es will nicht klappen.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sortiev
'sortiev = 0
If Not Intersect(Target, Me.ListObjects(1).HeaderRowRange) Is Nothing Then
If sortiev = 0 Then
Me.ListObjects(1).Range.Sort Key1:=Target.Offset(1), order1:=xlDescending, Header:=xlYes  '  _
absteigend
Cancel = True
sortiev = 1
End If
Else
Me.ListObjects(1).Range.Sort Key1:=Target.Offset(1), order1:=xlAscending, Header:=xlYes  '  _
aufsteigend
Cancel = True
sortiev = 0
End If
End Sub

MsgBox sortiev
Kannst Du nochmal schauen?
liebe grüsse thomas
Anzeige
AW: ups habe doch noch zwei kleine fragen
29.01.2017 17:59:34
Gerd
Hallo Thomas,
im Code wird nicht die Zeile 5 - wie du erkannt hast - abgefragt, sondern der
einzeilige Bereich der Überschriftenzeile des (zuerst eingefügten) formatierten Tabellchens.
Das ist keine Zauberei, sondern erfordert etwas Beschäftigung mit dem Listobject u. seinen Eigenschaften.
Der Umschalter setzt sich zusammen aus
Bolean False 0/ True -1 + 2 = 1 oder 2 (entspricht =xlAscending/xlDescending)
Durch die Deklarierung Static bleibt der Wert dieser Variablen zwischen Aufrufen erhalten.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Static bolRichtung As Boolean
If Not Intersect(Target, Me.ListObjects(1).HeaderRowRange) Is Nothing Then
Cancel = True
Me.ListObjects(1).Range.Sort Key1:=Target.Offset(1), order1:=bolRichtung + 2, Header:=xlYes
bolRichtung = Not bolRichtung
End If
End Sub

Gruß Gerd
Anzeige
cool das ist sehr interessant besten dank
29.01.2017 18:24:09
Thomas
Hallo Gerd,
das ist wirklich cool ich habe derweil noch ein wenig damit getestet aber außer ein x in irgendeiner Zeile zu schreiben ich nichts geschafft.
hab vielen dank dafür auch für deine Erklärung.
Dann weiss ich ein wenig was da geschieht.
bis dann
mfg thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige