Microsoft Excel

Herbers Excel/VBA-Archiv

Zahlen mittels VBA richtig sortieren

Betrifft: Zahlen mittels VBA richtig sortieren von: Burghard
Geschrieben am: 12.07.2015 14:19:22

Hallo,

in einem Makro habe ich eine Sortierung.

Columns("A:D").Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("D2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

Das Problem ist, dass Excel für mich beim Key2 nicht ganz richtig sortiert, also 1, 11, 12, ..., 2, 21, 22, ... , 3 etc.

Kann man beim Key2 die Sortierung mittels VBA ändern in:

1, 2, 3, ..., 11, 12, ... 21, 22, ... ?

Hilfe/Info wäre nett.

Grüße Burghard

  

Betrifft: AW: Zahlen mittels VBA richtig sortieren von: Peter Feustel
Geschrieben am: 12.07.2015 14:34:10

Hallo Burghard,

dann sind deine Werte keine Zahlen, sondern Text und der wird nun einmal so sortiert.
Du musst also entweder Zahlen aus dem Text machen, oder den Text mit Vornullen versehen und alle Text gleich lang machen.

Gruß Peter


  

Betrifft: AW: Zahlen mittels VBA richtig sortieren von: Burghard
Geschrieben am: 12.07.2015 14:39:07

Hallo Peter,

danke für die Info! Baue die Sache entsprechend um.

Grüße Burghard


  

Betrifft: AW: Zahlen mittels VBA richtig sortieren von: Daniel
Geschrieben am: 12.07.2015 15:43:25

Hi

wenn du als Textformatierte Zahlen wie Zahlen sortieren willst (2 kommt vor 11), dann gibt des dafür den Parameter:
DataOption:=xlSortTextAsNumbers

bzw für die textmässige Sortierung (2 kommt nach 11):
DataOption:=xlSortTextAsNumbers

probier das mal aus, wenns nicht funktioniert, könnte es auch daran liegen dass es in Excel 2000 diese Option noch nicht gibt oder anders benannt ist.
Daher sortiere mal von Hand und zeichne mit dem Recorder auf.
Excel wird dich dann fragen, wie sortiert werden soll und die entsprechenden Parameter aufzeichen:

Gruss Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Zahlen mittels VBA richtig sortieren"