Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1456to1460
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

VBA Sortieren

VBA Sortieren
08.11.2015 10:01:14
Maya
Schönen guten Morgen,
sollte eine kleine Hilfestellung haben:
In meiner Tabelle A:G sind die Überschriften in Zeile 12, die Daten beginnen ab Zeile 13.
Mit dem Code kann ich nach der Spalte sortieren die ich gerade angeklickt habe (im Netz gefunden).
Ich wollte haben, dass wenn ich in die Zellen mit den Überschriften klicke die Tabelle aufsteigend sortiert wird, und wenn ich in die Daten klicke absteigend sortiert wird.
Danke im voraus
Grüße von Maya Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim LzB As Long Dim LSp1 As Long Dim r r = ActiveCell.Address LzB = Application.Max(13, Cells(Rows.Count, 2).End(xlUp).Row) LSp1 = 7 Range(Cells(12, 1), Cells(LzB, LSp1)).Sort Key1:=Range(r), Order1:=xlAscending, Header:= _ xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Sortieren
08.11.2015 10:10:24
Sepp
Hallo Maya,
wäre der Doppelklick nicht besser geeignet?
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("A12").CurrentRegion) Is Nothing Then
  Range("A12").CurrentRegion.Sort Key1:=Cells(12, Target.Column), _
    Order1:=IIf(Target.Row = 12, xlAscending, xlDescending), Header:=xlYes
End If

End Sub

Gruß Sepp

Anzeige
AW: VBA Sortieren
08.11.2015 10:32:13
Maya
Hallo Sepp,
komische Sache: Es kommt der Laufzeitfehler 1004: Für diese Aktion müssen alle verbundenen Zellen die selbe Größe haben.
Diese Zeilen werden dann gelb markiert:
Range("A12").CurrentRegion.Sort Key1:=Cells(12, Target.Column), _
Order1:=IIf(Target.Row = 12, xlAscending, xlDescending), Header:=xlYes
In meiner Tabelle kommen aber nur bis zur Zeile 11 verbundene Zellen vor.
Grüße von Maya

AW: VBA Sortieren
08.11.2015 10:43:59
Sepp
Hallo Maya,
dann halt so.
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range

Set rng = Range("A12:G" & Application.Max(13, Cells(Rows.Count, 2).End(xlUp).Row))

If Not Intersect(Target, rng) Is Nothing Then
  rng.Sort Key1:=Cells(12, Target.Column), _
    Order1:=(Target.Row = 12) + 2, Header:=xlYes
End If

End Sub

Gruß Sepp

Anzeige
AW: VBA Sortieren
08.11.2015 11:03:56
Maya
Danke Sepp, so funktioniert es spitze.
Danke auch an Mathias fürs Testen.
Grüße von Maya

AW: VBA Sortieren
08.11.2015 10:46:38
Matthias
Hallo
Hab mal getestet (XL2007)
Keine Probleme! Auch nicht bei verb.Zellen bis Zeile(11)
Es dürfen natürlich keine Daten in diesen angrenzende Zellen an Zeile(12) stehen.
Sonst kommt eben dieser Fehler wg. CurrentRegion
Tabelle1

 ABCDEFG
1  
2
3
4
5
6
7
8
9
10 
11  
12Ü1Ü2Ü3Ü4Ü5Ü6Ü7
139898158949347
1478936732731244
1539805840344480
1627655553815162
1720497213603030
181638421644817
19641845572294
203731939591598


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige