ich habe eine Excel Arbeitsmappe mit 17 Tabellenblättern. Durch folgendes Makro habe ich das aktive Arbeitsblatt immer sortiert:
Sub Sortieren_ALL()
' Sortieren ALL Makro
' Tastenkombination: Strg+s
Range("B7:E81").Select
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("B7:B81" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange Range("B7:E81")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B2").Select
End Sub
Allerdings habe ich ein Tabellenblatt ("FF") dieses ist anders aufgebaut. Hier müsste das Makro wie folgt aussehen:Sub Sortieren_FF()
' Sortieren FF Makro
Range("B7:E36").Select
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Add Key:=Range("B7:B36"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FF").Sort
.SetRange Range("B7:E36")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B45:E74").Select
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Add Key:=Range("B45:B74"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FF").Sort
.SetRange Range("B45:E74")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B83:E112").Select
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Add Key:=Range("B83:B112"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FF").Sort
.SetRange Range("B83:E112")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B121:E150").Select
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Add Key:=Range("B121:B150"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FF").Sort
.SetRange Range("B121:E150")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B2").Select
End Sub
Und nun meine Frage. Wie packe ich die beiden zusammen, das immer nur das aktive Tabellenblatt sortiert wird, und falls dass aktive Tabellenblatt = FF ist das zweite Sortiermakro anstatt dem ersten benutzt wird?