並べ替えたい 5 つの列は A から E であると想定しています。このマクロは各列 (列全体) をループし、隣接する列とは無関係に並べ替えます。
これを試して:
Sub Macro2()
Set rng = Range("A:E")
For Each col In rng.Columns
Set rng = Columns(col.Column)
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(1, col.Column), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange rng
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next
End Sub
データは次のようになります。

マクロを実行すると、次のようになります。

最後の列は変更されていないことに注意してください。
****編集****
上記のように、列の代わりに行を左から右に並べ替える方法を次に示します (行 A1 から A10 を列 'A' から列 'E' に並べ替えます)。
Sub Macro2()
Set Rng = Range("A1:E10")
col = Rng.Cells(Rng.Count).Column
Dim lastcol As Integer
lastcol = Rng.Cells(Rng.Count).Column
For Each rrow In Rng.Rows
Set RngB = Range(ActiveSheet.Cells(rrow.Row, Rng.Column), ActiveSheet.Cells(rrow.Row, lastcol))
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=RngB, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange RngB
.Header = xlNo
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Next
End Sub