you could just sort the range in code
Range("Sample").Sort ("Sample")
where Sample is the range name
Sub TestSort()
Range("Sample").Sort ("Sample")
Dim myArray() As String
ReDim myArray(1 To Range("Sample").Count)
Dim iInc As Integer
For Each myVal In Range("Sample")
iInc = iInc + 1
myArray(iInc) = myVal
Next myVal
End Sub
example code picks up the range, sorts it and then puts it into an array (purely so you can watch the effect). As this is done in code it doesn't affect your original range but does give you something to output to your combo box
If for example your combo box is called cbDisplay..
Sub UpdateCombo()
Range("Sample").Sort ("Sample")
With Sheets("Sheet1").cbDisplay
.Clear
For Each myval In Range("Sample")
.AddItem myval
Next myval
End With
End Sub
|