Makro auf allen Tabellenblättern
01.08.2017 09:22:17
Dimi
Ich habe eine Arbeitsmappe mit 19 verschiedenen Tabellenblättern.
Die einzelnen Tabellenblätter sind gleich aufgebaut. Ich habe mir ein Makro geschrieben um gewisse Dinge auf einem Tabellenblatt zu sortieren.
Mein Makro sortiert logischerweise aber nur dieses eine Tabellenblatt auf dem es aufgezeichnet wurde. Nämlich Tabellenblatt "FF". Wie kann ich dieses Makro umschreiben, dass es das was es tut immer auf dem aktiven Tabellenblatt macht, egal welches ich gerade offen habe? Oder muss ich für jedes Blatt ein neues Makro schreiben :(
Hier das Makro:
Sub Sortieren()
' Sortieren Makro
' Tastenkombination: Strg+s
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:E75").Select
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Add Key:=Range("B45:B75"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FF").Sort
.SetRange Range("B45:E75")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B84:E114").Select
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Add Key:=Range("B84:B114"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FF").Sort
.SetRange Range("B84:E114")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B123:E153").Select
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FF").Sort.SortFields.Add Key:=Range("B123:B153"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FF").Sort
.SetRange Range("B123:E153")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B7").Select
End Sub