Hi Joe, welcome to the forum.
Perhaps the following macro will help you out..
Sub sortCols()
Dim cols As Long, LR As Long, i as Long
Application.ScreenUpdating = False
' Get last column
cols = Range("A1").End(xlToRight).Column
' Check to see if there is an odd # of columns.
' If so, don't include the last column.
If cols Mod 2 = 1 Then cols = cols - 1
' Loop through the used columns
For i = 1 To cols Step 2
' Get last row for each set of two columns
' Based on the last row of the first column in the set
LR = Cells(Rows.Count, i).End(xlUp).Row
' Sort by the second column (i + 1) in each set
With Worksheets("Sheet1").Sort
.SortFields.Clear
.SortFields.Add Key:=Range(Cells(2, i + 1), Cells(LR, i + 1)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range(Cells(1, i), Cells(LR, i + 1))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next i
Application.ScreenUpdating = True
End Sub
Bookmarks