Got my array solution working, yeah...
Sub vbax52603B()
'move data from columns to other on same sheet
Dim x, s, d, lr As Long
Dim mySrc, myDst As Variant
lr = Cells(Rows.Count, 1).End(xlUp).Row
ReDim mySrc(1 To 4)
ReDim myDst(1 To 4)
mySrc = Array(3, 4, 6, 7)
myDst = Array(14, 15, 12, 13)
For d = LBound(myDst) To UBound(myDst)
For s = LBound(mySrc) To UBound(mySrc)
For x = 3 To lr
Cells(x, myDst(d)).Value = Cells(x, mySrc(s)).Value
Next x
Next s
Next d
End Sub
and yes on the ascending:
Sub vbax52603_Sort()
lr = Cells(Rows.Count, 1).End(xlUp).Row
With ActiveWorkbook.Worksheets("Sheet1").Sort
Range("L2:O" & lr).Select
.SortFields.Clear
.SortFields.Add Key:=Range("N3:N" & lr) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("M3:M" & lr) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("L3:L" & lr) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("L2:O" & lr)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub