Hi Everyone,
I am trying to create a button that will sort a specific area on a worksheet, there are approximately 140 identical tabs (worksheets) and I wanted to have a button invoke a macro to sort the same area on the current active worksheet.
When i use the macro recorder it always inserts the sheet that i created it on, but i want to modify the VBA to reference whatever sheet is currently being viewed. The button exist on all 140 sheets.
Below is the attempt to change the syntax to work with the current sheet, not just the one that I was using to record the macro.
Thanks again for the help.
Chris
I am trying to create a button that will sort a specific area on a worksheet, there are approximately 140 identical tabs (worksheets) and I wanted to have a button invoke a macro to sort the same area on the current active worksheet.
When i use the macro recorder it always inserts the sheet that i created it on, but i want to modify the VBA to reference whatever sheet is currently being viewed. The button exist on all 140 sheets.
Below is the attempt to change the syntax to work with the current sheet, not just the one that I was using to record the macro.
Thanks again for the help.
Chris
Code:
Sub Macrotest()
'
' Macrotest Macro
'
Dim ssheet
ssheet = ActiveWorkbook.ActiveSheet()
'
Range("B126:G166").Select
ActiveWorkbook.Worksheets("ssheet").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("ssheet").Sort.SortFields.Add2 Key:=Range( _
"D126:D166"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("ssheet").Sort
.SetRange Range("B126:G166")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Last edited by a moderator: