Here is a quick and nasty solution... I have omitted the letters I and O since they can be easily confused for 1 and 0...
Just a couple of comments...
1. Strings are immutable, strings immutable has many advantages. It provides automatic thread safety, and makes strings behave like an intrinsic type in a simple, effective manner. This allows for extra efficiencies at runtime (such as allowing effective string interning to reduce resource usage), and has huge security advantages, since it's impossible for an third party API call to change your strings.
StringBuilder was added in order to address the one major disadvantage of immutable strings - runtime construction of immutable types causes a lot of GC pressure and is inherently slow. By making an explicit, mutable class to handle this, this issue is addressed without adding unneeded complication to the string class.
2. The ToCharArray() function will allow you to quickly break a string into a character array that you can use for your first character.
Dim r As New Random()
Dim x = "abcdefghjklmnpqrstuvwxy"
Dim xx = x.ToCharArray()
Dim sb = New StringBuilder()
sb.Append(xx(r.[Next](0, xx.Length)))
For i As Integer = 0 To 18
sb.Append(r.[Next](0, 10))
Next
Console.WriteLine(sb.ToString())
Console.ReadKey()
PS Please don't be so harsh... We all started somewhere...