No need to reinvent the wheel :-)
Suppose an array of string named myArray:
Array.Sort(myArray, StringComparer.Ordinal)
will do the trick (capitals before lower case and numerics before capitals).
Example:
Dim str = String() = {"aa", "Aa", "1a", "1A"}
Array.Sort(str, StringComparer.Ordinal)
Output:
1A
1a
Aa
aa