ある文字列が、ひらがな/カタカナ かどうかを判定してみましょう。1文字だけを判定するのでしたら、Like演算子を使うのが簡単です。
Sub Sample1()
Dim msg As String
If Left(Range("A1"), 1) Like "[あ-ん]" Then
msg = Left(Range("A1"), 1) & " は、ひらがなです" & vbCrLf
Else
msg = Left(Range("A1"), 1) & " は、ひらがなではありません" & vbCrLf
End If
If Left(Range("A1"), 1) Like "[ア-ン]" Then
msg = msg & Left(Range("A1"), 1) & " は、カタカナです" & vbCrLf
Else
msg = msg & Left(Range("A1"), 1) & " は、カタカナではありません" & vbCrLf
End If
MsgBox msg
End Sub


では、文字列全体を判定するのなら、文字列の先頭から1文字ずつチェックして・・・なんて必要はありません。判定したい文字列を、ひらがな/カタカナ に変換してみて、その結果が元の文字列と等しいかどうかを調べればいいんです。文字種の変換には、StrConv関数を使います。
Sub Sample2()
Dim msg As String
If Range("A1") = StrConv(Range("A1"), vbHiragana) Then
msg = Range("A1") & " は、ひらがなです" & vbCrLf
Else
msg = Range("A1") & " は、ひらがなではありません" & vbCrLf
End If
If Range("A1") = StrConv(Range("A1"), vbKatakana) Then
msg = msg & Range("A1") & " は、カタカナです" & vbCrLf
Else
msg = msg & Range("A1") & " は、カタカナではありません" & vbCrLf
End If
MsgBox msg
End Sub


もちろん、ひらがな/カタカナ が「含まれている」かどうかも判定できます。
Sub Sample3()
If Range("A1") = StrConv(Range("A1"), vbKatakana) Then
MsgBox "すべてカタカナです"
Else
MsgBox "ひらがな が含まれています"
End If
End Sub

これも、上と同じようにStrConv関数で判定できます。
Sub Sample4()
If Range("A1") = StrConv(Range("A1"), vbNarrow) Then
MsgBox "半角です"
Else
MsgBox "全角です"
End If
End Sub

半角に変換するときは、StrConv関数の第2引数にvbNarrowを指定します。全角に変換するときは、vbWideです。
半角/全角を判定する古典的な方法として、文字列のバイト数を比較するというのがあります。Len関数とLenB関数の結果が等しかったら、それは半角と。等しくなかったら全角が含まれていると。そういう考え方です。このLen関数とLenB関数は、ワークシート関数とVBAの関数で結果が異なりますので留意してください。
Sub Sample6()
MsgBox "Len → " & Len(Range("A1")) & vbCrLf & _
"LenB → " & LenB(Range("A1"))
End Sub

Excel 97以降、Excelでは文字をUnicodeで管理しています。Unicodeは、すべての文字を2バイトで表しますので、半角文字であってもバイト数は2バイトになります。そういう意味では、ワークシート関数の結果は間違っているのですが、これは旧バージョンと互換性を保つための仕様です。
考え方は同じです。判定する文字列を、大文字/小文字に変換してみて、その結果が等しいかどうかを調べます。文字列を大文字に変換するのはUCase関数で、小文字に変換するのがLCase関数です。
Sub Sample7()
If Range("A1") = UCase(Range("A1")) Then
MsgBox "すべて大文字です"
Else
MsgBox "小文字が含まれています"
End If
End Sub
