Excel VBAで文字列が英字のみで構成されているかをチェックする方法


方法1: 正規表現を使用する方法 正規表現を使用すると、英字以外の文字が含まれているかどうかを簡単にチェックできます。

Function IsAlphaOnly(inputString As String) As Boolean
    Dim regex As Object
    Set regex = CreateObject("VBScript.RegExp")

    regex.Pattern = "^[a-zA-Z]+$"
    IsAlphaOnly = regex.Test(inputString)
End Function

使用例:

Sub TestIsAlphaOnly()
    Dim str As String
    str = "AbcDEF"

    If IsAlphaOnly(str) Then
        MsgBox "文字列は英字のみで構成されています。"
    Else
        MsgBox "文字列に英字以外の文字が含まれています。"
    End If
End Sub

方法2: 文字列をループして各文字をチェックする方法 文字列を1文字ずつチェックし、英字以外の文字が存在するかどうかを判定します。

Function IsAlphaOnly(inputString As String) As Boolean
    Dim i As Integer

    For i = 1 To Len(inputString)
        If Not (Asc(UCase(Mid(inputString, i, 1))) >= 65 And Asc(UCase(Mid(inputString, i, 1))) <= 90) Then
            IsAlphaOnly = False
            Exit Function
        End If
    Next i

    IsAlphaOnly = True
End Function

使用例:

Sub TestIsAlphaOnly()
    Dim str As String
    str = "AbcDEF"

    If IsAlphaOnly(str) Then
        MsgBox "文字列は英字のみで構成されています。"
    Else
        MsgBox "文字列に英字以外の文字が含まれています。"
    End If
End Sub

これらの方法を使用すると、与えられた文字列が英字のみで構成されているかどうかを簡単にチェックできます。必要に応じて、これらのコード例をブログ投稿に組み込んで説明することができます。