VBAで文字列にスペースが含まれているか判断するにはInStr関数を使います。
InStr関数(Visual Basic for Applications) | Microsoft Learn
InStr関数は、文字列内に特定の文字列が含まれているかどうか判定することができます。 特定の文字列が含まれている場合はその文字列が最初に現れる位置のインデックスを返します。 特定の文字列が含まれていない場合は0を返します。
下記のコードはInStr関数を使い、文字列に半角スペース、または全角スペースが含まれているか判断しています。
Option Explicit
Function HasSpace(s As String) As Boolean
'###################################################################################
'文字列が半角スペースまたは全角スペースを含むかどうか判断する
'-----------------------------------------------------------------------------------
'戻り値:空白が含まれる場合True,空白が含まれない場合False
'###################################################################################
If InStr(s, " ") > 0 Or InStr(s, " ") > 0 Then
HasSpace = True
Else
HasSpace = False
End If
End Function
HasSpace
をテストするコードは以下になります。
半角スペースを含む文字列、全角スペースを含む文字列、スペースを含まない文字列を
それぞれHasSpace
に渡してテストを実行しています。
Sub TestHasSpace()
Dim s As String
s = "半角スペース が含まれています" '半角スペースを含む文字列
If HasSpace(s) Then
MsgBox "空白が含まれています"
Else
MsgBox "空白は含まれていません"
End If
s = "全角スペース が含まれています" '全角スペースを含む文字列
If HasSpace(s) Then
MsgBox "空白が含まれています"
Else
MsgBox "空白は含まれていません"
End If
s = "スペースが含まれていません" 'スペースを含まない文字列
If HasSpace(s) Then
MsgBox "空白が含まれています"
Else
MsgBox "空白は含まれていません"
End If
End Sub
TestHasSpace
を実行すると最初の文字列には半角スペースが含まれているため「空白が含まれています」と
表示されます。

次の文字列には全角スペースが含まれているため「空白が含まれています」と表示されます。

最後の文字列にはスペースが含まれていないため「空白は含まれていません」と表示されます。
