Option Explicit
Sub SortTheTabs()
Dim i As Long, j As Long, o As Long, n As Long
Dim arySum() As String, sHold As String, sDetail As String
Dim ws As Worksheet
ReDim arySum(1 To ThisWorkbook.Worksheets.Count / 2)
i = 1
For Each ws In ThisWorkbook.Worksheets
If Left(ws.Name, 3) = "Sum" Then
arySum(i) = ws.Name
i = i + 1
End If
Next
For i = 1 To UBound(arySum) - 1
For j = i + 1 To UBound(arySum)
If arySum(i) > arySum(j) Then
sHold = arySum(i)
arySum(i) = arySum(j)
arySum(j) = sHold
End If
Next j
Next i
o = 1
For i = 1 To UBound(arySum)
sDetail = "Detail_" & Right(arySum(i), Len(arySum(i)) - 4)
Worksheets(arySum(i)).Move before:=Worksheets(o)
Worksheets(sDetail).Move after:=Worksheets(arySum(i))
o = o + 2
Next i
End Sub