ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   VB Macro question (https://www.excelbanter.com/excel-discussion-misc-queries/239602-vbulletin-macro-question.html)

apache007

VB Macro question
 
Dear experts,

I have the following macro to sort Cells.

--------------------------------------------------------
Sub Macro2()
'
' Macro2 Macro
'
' Keyboard Shortcut: Ctrl+x
'
Rows("4:385").Select
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.C lear
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.A dd
Key:=Range("A4:A385"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.A dd
Key:=Range("B4:B385"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Aug").Sort
.SetRange Range("A4:AD385")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
-------------------------------------

I would to change the constant "Aug" to the selected/active Sheet, so that I
wont have to change "Aug" all the time.

What should I change "Aug" to??

Thanks in advance.





Jacob Skaria

VB Macro question
 
Replace
Worksheets("Aug")

with
ActiveSheet

to look like the below for all lines

ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
OR
ActiveSheet.Sort.SortFields.Clear

If this post helps click Yes
---------------
Jacob Skaria


"apache007" wrote:

Dear experts,

I have the following macro to sort Cells.

--------------------------------------------------------
Sub Macro2()
'
' Macro2 Macro
'
' Keyboard Shortcut: Ctrl+x
'
Rows("4:385").Select
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.C lear
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.A dd
Key:=Range("A4:A385"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.A dd
Key:=Range("B4:B385"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Aug").Sort
.SetRange Range("A4:AD385")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
-------------------------------------

I would to change the constant "Aug" to the selected/active Sheet, so that I
wont have to change "Aug" all the time.

What should I change "Aug" to??

Thanks in advance.





joel

VB Macro question
 
Since there may be a different number of rows in each worksheet this code is
simplier and more flexible.

Sub Macro2()
'
' Macro2 Macro
'
' Keyboard Shortcut: Ctrl+x
'
With ActiveWorkbook.ActiveSheet
LastRow = .Range("A" & Rows.count).end(xlup).row
if Lastrow = 4 then
.Rows("4:" & LastRow").Sort _
header:=xlguess, _
Key1:=Range("A4"), _
Order1:=xlAscending
end if
End With

End Sub


"apache007" wrote:

Dear experts,

I have the following macro to sort Cells.

--------------------------------------------------------
Sub Macro2()
'
' Macro2 Macro
'
' Keyboard Shortcut: Ctrl+x
'
Rows("4:385").Select
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.C lear
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.A dd
Key:=Range("A4:A385"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Aug").Sort.SortFields.A dd
Key:=Range("B4:B385"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Aug").Sort
.SetRange Range("A4:AD385")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
-------------------------------------

I would to change the constant "Aug" to the selected/active Sheet, so that I
wont have to change "Aug" all the time.

What should I change "Aug" to??

Thanks in advance.






All times are GMT +1. The time now is 03:32 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com