Sortierung

04/10/2009 - 17:23 von Heinz ROGHB346 | Report spam
Hallo VBA-Spezialisten,


leider schaffe ich es mal wieder nicht dieses Makro so anzugleichen,

das es auf allen Tabellenblàttern làuft.


Makro Sorttest

ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add
Key:=Range("F3:F200" _
), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add
Key:=Range("G3:G200" _
), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add
Key:=Range("B3:B200" _
), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("Tabelle1").Sort
.SetRange Range("A3:H200")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

End Sub


MfG Heinz
 

Lesen sie die antworten

#1 michlchen
05/10/2009 - 12:42 | Warnen spam
du willst dieses makro über alle blàtter laufen lassen?

dann einfach überall "tabelle1" durch activesheet.name ersetzen. damit
hast du es schon einmal unabhàngig vom namen.

ist die menge der zeilen in jedem blatt gleich lang? wenn nicht, würde
ich mir am anfang überall die anzahl der zeilen in ne variable row
holen. dann kannst du range("B3:B" & row) nutzen. row wàre dann aufm
1. blatt 200, aufm 2. 500 unsw. .


jetzt die loop um deine prozedur:

' 1. Blatt
i=1
do
sheets(i).select

' hier deinen code.

loop until i = scheets.count

Ähnliche fragen