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

Sortieren mit VBA

Forumthread: Sortieren mit VBA

Sortieren mit VBA
25.01.2005 20:40:23
Katrin
Hallo,
ich bin auf der Suche nach einer Möglichkeit wie ich die angehängte Datei, wie folgt per Makro sortieren kann:
www.herber.de/bbs/user/16856.xls
1) Wenn in KZ kein J steht, dann soll automatisch ein N eingefügt werden
2) Sortieren der Gesamttabelle nach KZ aufsteigend
3) Sortieren innerhalb des Bereichs bei dem in KZ ein N steht nach Kundennummer
4) und zuletzt innerhalb des Bereichs N noch alle Kundennummern größer 5000 nach Verbrauch.
Wär ganz arg nett, wenn mir jemand helfen könnte.
Danke im Voraus
Katrin
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Sortieren mit VBA
Harald
Hallo Katrin,
Schritt für Schritt kommst Du zum Ziel:

Sub test()
Dim lastrow As Long
Dim i As Long
lastrow = Worksheets("Tabelle1").Range("a65536").End(xlUp).Row 'Setzt voraus, dass alle Einträge eine Kundennummer haben
'Teil 1: Zellen ohne "j" erhalten ein "n"
For i = 2 To lastrow
If UCase(Cells(i, 3)) <> "J" Then 'Ucase, damit Groß-/Kleinschreibung egal ist
Cells(i, 3) = "n"
End If
Next i
'Teil 2: Sortieren nach KZ
Columns("A:D").Select
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Teil 3: Sortieren nach Kundennummer in dem Bereich KZ="n"
For i = 2 To lastrow
If UCase(Cells(i, 3)) = "N" Then
Exit For ' Finde erste Zeile mit KZ=N
End If
Next i
Range("A" & i & ":D" & lastrow).Select
Selection.Sort Key1:=Range("A" & i), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Teil 3: Sortieren nach Verbrauch
For i = 2 To lastrow
If UCase(Cells(i, 3)) = "N" And Cells(i, 1) > 5000 Then
Exit For ' Finde erste Zeile mit KZ=N und Kundennummer > 5000
End If
Next i
Range("A" & i & ":D" & lastrow).Select
Selection.Sort Key1:=Range("D" & i), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Gruß Harald
Anzeige
AW: Sortieren mit VBA
26.01.2005 07:37:06
Katrin
Danke schon mal ganz herzlich für deine Mühe! Ich werd es gleich mal ausprobieren!
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige