Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Sortierungsproblem

Forumthread: VBA Sortierungsproblem

VBA Sortierungsproblem
30.01.2009 14:47:20
dieter(drummer)
Excel und VBA SoLaLa
Hi VBA Spezailisten,
komme mit meinem Wissen in VBA nicht weiter! Suche ein VBA Makro, dass folgendes möglich mach:
In der aktiven Tabelle soll eine Sortierung (NICHT ÜBER FILTER) nach Spalte B absteigend sortiert werden
Der gesamte Sort.bereich ist A5:BD1000.
1)Spalte A beinhaltet Formeln.
2)Spalte B hat NUR TEXT, bis Folgezelle leer ist, kann also z. B. Text bis Zelle B200 sein.
3)Zelle 2001 ist dann z. B. leer.
4) Spalte C bis BD beinhaltet Formeln.
Es soll also der Bereich A5:BD100 nach Spalet B absteigend soertiert werde, bis in Spalte B KEIn Text mehr steht (hat KEINE ZAHLEN).
Wäre super, wenn das möglich wäre per Makro.
Danke für's drum kümmern und etvl. Hilfe.
Mit Gruß aus NRW
dieter(drummer)
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Sortierungsproblem
30.01.2009 15:44:53
Peter
Hallo Dieter,
versuch es so:
Option Explicit

Public Sub Sortieren()
Dim lZeile  As Long
lZeile = 4
With ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
Do
lZeile = lZeile + 1
Loop Until Trim(.Cells(lZeile, 2).Value) = ""
.Range("A5:BD" & lZeile).Sort _
Key1:=Range("B5"), Order1:=xlDescending, _
Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
End With
End Sub


Gruß Peter

Anzeige
AW: Nachtrag
30.01.2009 15:53:00
Peter
Hallo Dieter,
ein Punkt ist abhanden gekommen - vor Range
Key1:=.Range("B5"), Order1:=xlDescending, _
bitte einfügen.
Gruß Peter
AW: VBA Sortierungsproblem
30.01.2009 15:54:08
Tino
Hallo,
geht es so?

Dim LRow As Long
LRow = Range("B5:B" & Rows.Count).Find("*", , xlValues, 2, 1, 2, False, False).Row
Range("A5:BD" & LRow).Sort Range("B5"), xlDescending


Zeile 5 darf aber nicht die Überschrift sein, sonst mach es so.


Dim LRow As Long
LRow = Range("B6:B" & Rows.Count).Find("*", , xlValues, 2, 1, 2, False, False).Row
Range("A6:BD" & LRow).Sort Range("B6"), xlDescending


Sollte eigentlich funktionieren.
Gruß Tino

Anzeige
AW: Dank an Peter und Tino
30.01.2009 16:05:00
dieter(drummer)
Hi Peter und Tino,
Danke für schnelle Hilfe. Tinos funktioniert.
Bei Dir, Peter, kommt eine Fehlermeldung: Index außerhalb des gültigen Bereichs.
Trotzdem nochmal Danke.
Wie muss das Makro sein, wenn ich absteigend sortieren möchte?.
Gruß aus NRW
dieter(drummer)
AW: Dank an Peter und Tino
30.01.2009 16:13:00
Tino
Hallo,
xlDescending = absteigend von Groß nach klein
xlAscending = aufsteigend von klein nach Groß
Gruß Tino
Anzeige
AW: Habe schon AsCending gefunden. Danke!
30.01.2009 16:18:35
dieter(drummer)
Danke an euch für Hilfe und ein schönes Wochenende.
Gruß
dieter(drummer)
AW: Dank an Peter und Tino
30.01.2009 21:19:12
Peter
Hallo Peter,
dann gehe ich davon aus, dass das zu sortierende Tabellenblatt nicht "Tabelle1" ist, sondern anders heißt.
Gruß Peter
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige