this is the code that was given to me to sort the array of timezones and i am using
VB Code:
  1. Private Sub SortArray(ByRef sArray() As String)
  2. Dim i         As Long
  3. Dim ArrTemp() As Long
  4.  
  5.     ReDim ArrTemp(UBound(sArray))
  6.     For i = LBound(sArray) To UBound(sArray)
  7.         ArrTemp(i) = Val(Trim$(Mid(sArray(i), 5, 6)))
  8.     Next
  9.     BubbleSortNumbers ArrTemp, sArray
  10. End Sub
  11.  
  12. Private Sub BubbleSortNumbers(varray() As Long, vRealarray() As String)
  13.    
  14.    Dim cnt1     As Long
  15.    Dim cnt2     As Long
  16.    Dim tmp      As Long
  17.    Dim tmpStr   As String
  18.          For cnt1 = UBound(varray) To LBound(varray) Step -1
  19.  
  20.       For cnt2 = LBound(varray) + 1 To cnt1
  21.      
  22.       If varray(cnt2 - 1) > varray(cnt2) Then
  23.          'Switch Positions array
  24.          tmp = varray(cnt2 - 1)
  25.          varray(cnt2 - 1) = varray(cnt2)
  26.          varray(cnt2) = tmp
  27.          'Switch real array
  28.          tmpStr = vRealarray(cnt2 - 1)
  29.          vRealarray(cnt2 - 1) = vRealarray(cnt2)
  30.          vRealarray(cnt2) = tmpStr
  31.       End If
  32.             Next cnt2
  33.  
  34.    Next cnt1
  35. End Sub
  36.  
  37. ' call like this
  38.         opentimezonelist  ' sub to return array of timezones
  39.        
  40.         Dim arrsort() As String
  41.         ReDim arrsort(UBound(arrdisplay))  ' array of returned timezones
  42.         arrsort = arrdisplay
  43.        
  44.         SortArray arrsort
  45.         For i = 0 To UBound(arrsort)
  46.             List1.AddItem arrsort(i)
  47.         Next