Sort BOM VBA Macro issues

I have a macro, that i thought was correct... I want to sort my top level BOMs by "Part number", "ascending" in order of (1) assemblies then (2)parts...

The normal "Sort" GUI works, must be something i cant see...

Dim swApp        As SldWorks.SldWorks
Dim swModel      As SldWorks.ModelDoc2
Dim swDraw       As SldWorks.DrawingDoc
Dim swBomTable   As SldWorks.BomTableAnnotation
Dim swBomFeat    As SldWorks.BomFeature
Dim swSortData   As SldWorks.BomTableSortData
Dim swSelMgr     As SldWorks.SelectionMgr
Dim swFeat       As SldWorks.Feature
Dim sortArray(2) As String
Dim vTables      As Variant
Dim boolstatus   As Boolean

Sub Sort_BOM_Data()

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swDraw = swModel

Set swSelMgr = swModel.SelectionManager

Set swFeat = swModel.FirstFeature

Do While Not swFeat Is Nothing

If "BomFeat" = swFeat.GetTypeName Then
    swFeat.Select (False)
    Set swBomFeat = swFeat.GetSpecificFeature2
    vTables = swBomFeat.GetTableAnnotations
    Set swBomTable = vTables(0)
End If
Set swFeat = swFeat.GetNextFeature

Loop

Set swSortData = swBomTable.GetBomTableSortData

swSortData.ColumnIndex(0) = 3

swSortData.Ascending(0) = True

sortArray(0) = swBomTableSortItemGroup_e.swBomTableSortItemGroup_Assemblies

sortArray(1) = swBomTableSortItemGroup_e.swBomTableSortItemGroup_Parts

sortArray(2) = swBomTableSortItemGroup_e.swBomTableSortItemGroup_None

swSortData.ItemGroups = sortArray

swSortData.DoNotChangeItemNumber = False

boolstatus = swBomTable.Sort(swSortData)

swModel.ClearSelection2 (True)

End Sub

SolidworksApi macros