VBAを使用する予定がある場合は、ASCIIコードのチェックがオプションです。あなたはASCIIコードを取得し、あなたが期待するものにそれを比較するために
ASC([Character to Check])
を使用し、各文字を取得するには
Left([String] , [Amount of Chars])
Mid([String] , [Starting Char] , [Amount of Chars])
Right([String] , [Amount of Chars])
を使用することができ、これを行うに
。
だから、60等の大文字のための95の
以下のいくつかのサンプルコードを参照してください、クリーンしかし、それは動作しません。
If Asc(Mid(StringToTest, 1, 1)) >= 60 And Asc(Mid(StringToTest, 1, 1)) <= 95 And _
Asc(Mid(StringToTest, 2, 1)) >= 48 And Asc(Mid(StringToTest, 2, 1)) <= 57 And _
Asc(Mid(StringToTest, 3, 1)) >= 60 And Asc(Mid(StringToTest, 3, 1)) <= 95 And _
Asc(Mid(StringToTest, 4, 1)) >= 48 And Asc(Mid(StringToTest, 4, 1)) <= 57 And _
Asc(Mid(StringToTest, 5, 1)) >= 60 And Asc(Mid(StringToTest, 5, 1)) <= 95 And _
Asc(Mid(StringToTest, 6, 1)) >= 48 And Asc(Mid(StringToTest, 6, 1)) <= 57 Then
Debug.Print "Pass"
Else
Debug.Print "Fail"
End If
LEN、MID、ISNUMBER&ISTEXTがこれを担当しているようです。 VBAが必要な場合は、正規表現を試してみてください。 – Jeeped
@Jeeped数字が文字列の一部であるため、ISTEXTは機能しませんので、真と表示されます。 – Hocus
@Hocus - '= ISNUMBER( - MID(A2、ROW(2:2)、1))'それを行う必要があります。私はOPからの元々の努力を見たいと思っていました。何か...何でも。 – Jeeped