Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
552to556
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
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige