01.05.2017, 21:29
Hallo,
Ich habe 3 Makros:
Sub Sortieren_Häufigkeit()
'
' Sortieren_Häufigkeit Makro
'
'
Range("AD3:AI52").Select
Range("AD52").Activate
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Add Key:=Range("AD52"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("VORLAGE").Sort
.SetRange Range("AD3:AI52")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("AD54").Select
End Sub
Sub Sortieren_Alphabet()
'
' Sortieren_Alphabet Makro
'
'
Range("AD3:AI52").Select
Range("AD52").Activate
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Add Key:=Range( _
"AE3:AE52"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("VORLAGE").Sort
.SetRange Range("AD3:AI52")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("AD62").Select
End Sub
Sub Sortieren_PLZ()
'
' Sortieren_PLZ Makro
'
'
Range("AD3:AI52").Select
Range("AD52").Activate
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Add Key:=Range( _
"AD3:AD52"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("VORLAGE").Sort
.SetRange Range("AD3:AI52")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.SmallScroll Down:=18
End Sub
Mein Problem ist nun, dass die Makros sich Nur auf das Blatt "Vorlage" beziehen, dass bedeutet, auf ein anderes Blatt kann ich dieses Makro nicht anwenden. Gibt es eine Methode wie Ich das Makro ändern kann oder könnte mir jemand dabei helfen, da Ich mit VBA noch nicht so viel Erfahrung habe (Die Makros habe Ich über "Makro aufzeichnen" erstellt), wie Ich die Codes anpassen kann, denn ansonsten müsste Ich für jedes Blatt einen neuen Code erstellen.
Ich freue mich über jede Hilfe
Viele Grüße
Tobias
Ich habe 3 Makros:
Sub Sortieren_Häufigkeit()
'
' Sortieren_Häufigkeit Makro
'
'
Range("AD3:AI52").Select
Range("AD52").Activate
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Add Key:=Range("AD52"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("VORLAGE").Sort
.SetRange Range("AD3:AI52")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("AD54").Select
End Sub
Sub Sortieren_Alphabet()
'
' Sortieren_Alphabet Makro
'
'
Range("AD3:AI52").Select
Range("AD52").Activate
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Add Key:=Range( _
"AE3:AE52"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("VORLAGE").Sort
.SetRange Range("AD3:AI52")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("AD62").Select
End Sub
Sub Sortieren_PLZ()
'
' Sortieren_PLZ Makro
'
'
Range("AD3:AI52").Select
Range("AD52").Activate
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("VORLAGE").Sort.SortFields.Add Key:=Range( _
"AD3:AD52"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("VORLAGE").Sort
.SetRange Range("AD3:AI52")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.SmallScroll Down:=18
End Sub
Mein Problem ist nun, dass die Makros sich Nur auf das Blatt "Vorlage" beziehen, dass bedeutet, auf ein anderes Blatt kann ich dieses Makro nicht anwenden. Gibt es eine Methode wie Ich das Makro ändern kann oder könnte mir jemand dabei helfen, da Ich mit VBA noch nicht so viel Erfahrung habe (Die Makros habe Ich über "Makro aufzeichnen" erstellt), wie Ich die Codes anpassen kann, denn ansonsten müsste Ich für jedes Blatt einen neuen Code erstellen.
Ich freue mich über jede Hilfe
Viele Grüße
Tobias