Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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 - Tabelle mit Spalte mit Formel und ""-Ergebnis sortiere

VBA - Tabelle mit Spalte mit Formel und ""-Ergebnis sortiere
28.02.2024 12:15:52
Schneider, Franz
Hallo,

in einer Tabelle möchte ich die Zeilen nach einer Spalte mit sichtbaren Text-Daten aufsteigend sortieren, die mit einer Formel gefüllt wurde. Da die Tabelle in der Regel nicht vollständig gefüllt ist, sollen die "leeren" Zeilen unten angehängt werden. Durch Googeln habe ich hier im Forum eine Möglichkeit (aus 2003) gefunden und für meine Muster-Tabelle angepasst:
Sub Sortieren_Klasse()

Application.ScreenUpdating = False
ActiveSheet.Sort.SortFields.Clear
Dim i As Integer, laR As Integer
With ActiveSheet
.Range("B3:M14").Sort Key1:=.Range("E3"), _
Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
laR = 14
For i = 14 To 1 Step -1
If .Cells(i, 1).Text > "" Then
laR = i
Exit For
End If
Next i
.Range("B3:M" & laR).Sort Key1:=.Range("E3"), _
Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
End With
ActiveSheet.Sort.SortFields.Clear
Application.ScreenUpdating = True
End Sub

Leider werden nach diesem Code die Textdaten zwar aufsteigend sortiert, die Leerzeilen aber vorangestellt. Die Sortierung nach einer Spalte mit Werten bringt das gewünschte Ergebnis mit darunter stehenden Leerzeilen.

Wenn ich den Code richtig deute, wird im ersten Schritt die Tabelle absteigend sortiert. Anschließend zählt der Code die gefüllten Zeilen (laR) und begrenzt im nächsten Schritt mit "laR" den aufsteigend zu sortierenden Bereich. Das Zählen der Zeilen bis > "" funktioniert anscheinend nicht. Gezählt werden vermutlich alle Zeilen, weil in den "leeren" Zellen Formeln stehen. Der Code soll aber genau dafür die Lösung sein.

Eine Erweiterung um eine 2. Sortierung konnte ich aus vorstehendem Grund noch nicht angehen. Diese Untersortierung betrifft eine Spalte mit Werten in absteigender Sortierung (hier „Ergebnis“).

Hat jemand eine Lösung für dieses Problem? Eine Musterdatei habe ich hochgeladen unter https://www.herber.de/bbs/user/167131.xlsm.

Viele Grüße
Franz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Tabelle mit Spalte mit Formel und ""-Ergebnis sortiere
28.02.2024 12:37:08
peter
Hallo

Deine Tabelle beginnt inSpalte B daher , Cells(i,2) statt Cells(i,1)



If .Cells(i, 2).Text > "" Then


Peter
AW: VBA - Tabelle mit Spalte mit Formel und ""-Ergebnis sortiere
28.02.2024 14:25:14
Schneider, Franz
Oh, da habe ich mir selbst ein Bein gestellt. Danke Peter!
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige