+ Reply to Thread
Results 1 to 4 of 4

VBA Sort Help

Hybrid View

  1. #1
    Registered User
    Join Date
    06-25-2009
    Location
    Scotland
    MS-Off Ver
    Excel 2007
    Posts
    14

    VBA Sort Help

    I have the following code, I need it to sort all the sheets in my workbook on the first column. The below code doesnt seem to work for me though.

    I get the error:

    Run-time error '1004':
    The sort reference is not valid.

    When I make a macro the sort code line is exactly the same though :-S

    Private Sub CommandButton1_Click()
        For x = 2 To Application.Sheets.Count
            Sheets(x).Activate
            Sheets(x).Cells.Select
            Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
    Next
    End Sub
    Thanks for any help

    Jay

  2. #2
    Forum Expert Domski's Avatar
    Join Date
    12-14-2009
    Location
    A galaxy far, far away
    MS-Off Ver
    Darth Office 2010
    Posts
    3,950

    Re: VBA Sort Help

    Try this:

    Private Sub CommandButton1_Click()
    
    Dim ws As Worksheet
    
    For Each ws In ActiveWorkbook.Worksheets
    
        ws.Range("A1").CurrentRegion.Sort Key1:=.Range("A2"), Order1:=xlAscending, _
            Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    
    Next ws
    
    End Sub

    Dom
    "May the fleas of a thousand camels infest the crotch of the person who screws up your day and may their arms be too short to scratch..."

    Use code tags when posting your VBA code: [code] Your code here [/code]

    Remember, saying thanks only takes a second or two. Click the little star to give some Rep if you think an answer deserves it.

  3. #3
    Registered User
    Join Date
    06-25-2009
    Location
    Scotland
    MS-Off Ver
    Excel 2007
    Posts
    14

    Re: VBA Sort Help

    Doesnt work, same error.

    Also I dont want to loop through all sheet, just the second sheet onwards.

  4. #4
    Forum Expert Domski's Avatar
    Join Date
    12-14-2009
    Location
    A galaxy far, far away
    MS-Off Ver
    Darth Office 2010
    Posts
    3,950

    Re: VBA Sort Help

    Sorry missed that, try:

    Private Sub CommandButton1_Click()
    
    Dim x As Long
    
    For x = 2 To ActiveWorkbook.Sheets.Count
    
        With Sheets(x)
    
            .Range("A1").CurrentRegion.Sort Key1:=.Range("A2"), Order1:=xlAscending, _
                Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                DataOption1:=xlSortNormal
    
        End With
    
    Next x
    
    End Sub

    Dom

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1