Ciao, forse devi fare il confronto inverso (quello che sta dentro una text è sempre una stringa), esempio:
If String.IsNullOrEmpty(TextBox1.Text) Then
MsgBox("vuota")
ElseIf IsNumeric(TextBox1.Text) Then
MsgBox("numerica")
Else
MsgBox("testo")
End If