Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1764to1768
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
VBA: Spalte sortieren
19.06.2020 14:23:13
Axel
Hallo zusammen,
das kann doch nicht so schwer sein...
Ich habe zig Codes im Netz gefunden, die aber alle nicht funktionieren oder nicht das machen, was ich brauche, der Makroeditor bringt mich auch nicht weiter wegen Fehlermeldung...
Ich habe einen Command Button eingefügt und will eine komplette Tabelle in Spalte F ab F4 aufsteigend sortieren lassen:
Private Sub CommandButton21_Click()
Range("A4").Select
Range(Selection, Selection.End(xlLastCell)).Select
Selection.Sort Key1:=Range("F4"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'ActiveWorkbook.Worksheets("Übersicht_Ertrag").AutoFilter.Sort.SortFields.Clear
'    ActiveWorkbook.Worksheets("Übersicht_Ertrag").AutoFilter.Sort.SortFields.Add _
'        Key:=Range("F4"), SortOn:=xlSortOnValues, Order:=xlDescending, _
'        DataOption:=xlSortTextAsNumbers
'    With ActiveWorkbook.Worksheets("Übersicht_Ertrag").AutoFilter.Sort
'        .Header = xlYes
'        .MatchCase = False
'        .Orientation = xlTopToBottom
'        .SortMethod = xlPinYin
'        .Apply
'    End With
End Sub
Der auskommentierte Block stammt aus dem Makroeditor, der obere Teil aus einem anderen Thread, funktioniert aber auch nicht.
Ich hab auch schon andere Codeschnipsel gefunden und probiert und bisher noch keine funktionierende Lösung gefunden.
Bitte bitte bitte helft mir bevor ich aus dem Fenster springe.
Danke vorab
Axel

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Spalte sortieren
19.06.2020 14:34:08
Daniel
Hi
Definier mal "funktioniert nicht" genauer.
Die Fehlermeldung von Excel lautet ja auch nicht nur "Fehlermeldung", sondern enthält noch ein paar weitere Informationen.
Bzw, das End sollte man mit den systemvariablen xlDown, xltoRight "füttern".
Wenn du die letzte benutzte Zelle meinst:
Range(Cells(4, 1), Cells.SpecialCells(xlCelltypeLastCell)).Sort key1:=Range("F4"), ...
Gruß Daniel
AW: VBA: Spalte sortieren
19.06.2020 14:36:40
Axel
Hi Daniel,
bei Zeile 2 des Makros erscheint die Meldung "Anwendungs- oder objektorientierter Fehler".
Ich versuch mal Deinen Vorschlag und melde mich wieder.
Danke und schönes Wochenende
Axel
Anzeige
AW: VBA: Spalte sortieren
19.06.2020 14:39:36
Daniel
"Zeile 2" ist so ne Sache.
Zählst du die Überschrift des Makros mit?
Zählst du Leerzeilen mit?
Gruß Daniel
AW: VBA: Spalte sortieren
19.06.2020 14:40:20
EtoPHG
Hallo Axel,
Du willst aufsteigend (xlAscending) sortieren, benutzt aber absteigend (xlDescending) als Parameter.
Was Du Dir unter '...die aber alle nicht funktionieren...' kann ich mir nicht vorstellen, denn meine Kristallkugel ist kaputt.
Stell doch mal einen Ausschnitt deiner Beispielmappe ins Forum, dann kommt vielleicht die Erleuchtung.
Gruess Hansueli
AW: VBA: Spalte sortieren
19.06.2020 16:37:20
Gerd
Moin Axel!
Private Sub CommandButton21_Click()
ActiveSheet.Rows(4).Resize(ActiveSheet.UsedRange.Rows.Count).Sort Key1:=Range("F4"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Gruß Gerd
Anzeige
AW: VBA: Spalte sortieren
22.06.2020 09:15:01
Axel
Hallo zusammen,
sorry für die späte Rückmeldung.
Gerd, absolut perfekt, macht was es soll!
Tausend Dank!
Bleibt gesund
Axel
AW: VBA: Spalte sortieren
22.06.2020 10:44:29
Axel
@ Gerd, falls Du noch einen Blick auf den Thread hast:
In einer Weiterentwicklung will ich den Command Button auf ein anderes Tabellenblatt machen und ein zweites Tabellenblatt gleich mit sortieren lassen. Ich dachte, das Makro müsste so funktionieren:
Private Sub CommandButton21_Click()
Worksheets("Übersicht_Ertrag").Activate
With ActiveSheets
.Rows(4).Resize(ActiveSheet.UsedRange.Rows.Count).Sort Key1:=Range("F4"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
Worksheets("Übersicht_NGV").Activate
With ActiveSheets
.Rows(4).Resize(ActiveSheet.UsedRange.Rows.Count).Sort Key1:=Range("F4"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
Worksheets("Übersicht_Ertrag").Activate
End Sub
Nach "With ActiveSheets" erscheint die Fehlermeldung "Objekt erforderlich". Da bin ich überfordert und erbitte Deine Hilfe, was man am Code ändern muss.
Vielen Dank vorab und beste Grüße
Axel
Anzeige
With ActiveSheets ohne s am ende
22.06.2020 21:40:10
ralf_b
AW: VBA: Spalte sortieren
23.06.2020 12:51:50
Gerd
Hallo Axel!
Private Sub CommandButton21_Click()
Call Sortierung("Übersicht_Ertrag")
Call Sortierung("Übersicht_NGV")
End Sub
Sub Sortierung(strBlattname As String)
With Worksheets(strBlattname)
.Rows(4).Resize(.UsedRange.Rows.Count).Sort Key1:=.Range("F4"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
End Sub
Es gibt keine Auflistung der ActiveSheets, nur ein ActiveSheet.
Die Aktivierung der Blätter ist beim Sortieren verzichtbar.
Gruß Gerd
Anzeige
AW: VBA: Spalte sortieren
23.06.2020 13:10:03
Axel
Danke Gerd!

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige