VBAで文字列にスペースが含まれているか判断するにはInStr関数を使います。
InStr関数
InStr関数は、文字列内に特定の文字列が含まれているかどうか判定することができます。
特定の文字列が含まれている場合はその文字列が最初に現れる位置のインデックスを返します。
特定の文字列が含まれていない場合は0を返します。
下記のコードはInStr関数を使い、文字列に半角スペース、または全角スペースが含まれているか
判断しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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 Functionに渡してテストを実行しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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を実行すると最初の文字列には半角スペースが含まれているため「空白が含まれています」と
表示されます。
次の文字列には全角スペースが含まれているため「空白が含まれています」と表示されます。
最後の文字列にはスペースが含まれていないため「空白は含まれていません」と表示されます。
コメント