Not properly tested but I would have written it as
Dim r As New Random
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim GenerateContactID As String = String.Empty
For MyLoop As Integer = 1 To 8
If MyLoop Mod 2 = 1 Then
GenerateContactID &= Convert.ToChar(r.Next(97, 122))
Else
GenerateContactID &= r.Next(0, 9).ToString()
End If
Next
Debug.WriteLine(GenerateContactID)
End Sub
Although things like CInt etc. are perfectly valid in .Net I tend to avoid them simply because I use both C# and VB.Net and remembering two ways to do things is twice the effort of remembering one way ;)