FWIW, Excel sees these as
JBLC...
JBLC...
JBLC...
JBLD...
JBLD...
JBLD...
JBLD...
JBLD...
JBLD...
...completely ignoring the hyphens. In its own way, Excel has put them in alphabetical order.
If you create a second column and apply this formula...
=SUBSTITUTE(A2,"-"," ")
...you can sort on that second column and the order will be what I believe you're expecting. A2 is the matching cell, of course, and you'll need to copy/paste that formula to match all the affected cells.
If you need me to, I can re-upload your spreadsheet with the solution.
Can't say if the solution will work for you, but it sorts the way I think you want it to.
Sub SortWithHyphens()
ActiveSheet.Columns("A").Replace What:="-", Replacement:="|"
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A2:M463")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Columns("A").Replace What:="|", Replacement:="-"
End Sub
Sort by > Inventory ID > Values A to Z > OK
Inventory ID
JBL-CWT128-WH
JBL-CWT128-WRC
JBL-CWT128-WRX
JBLD-124-67001-00X
JBLD-124-67001-01X
JBLD-129-20010-00
JBL-D16R2445
JBL-D16R2450
JBLD-2241H