VBAで文字列にスペースが含まれているか判断するには
InStr関数を使います。
InStr関数
下記のコードは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 '################################################################################### '文字列が半角スペースまたは全角スペースを含むかどうか判断する '----------------------------------------------------------------------------------- '引数:s スペースを含んでいるか調べたい文字列 '戻り値:空白が含まれる場合True,空白が含まれない場合False '################################################################################### If InStr(s, " ") > 0 Or InStr(s, " ") > 0 Then hasSpace = True Else hasSpace = False End If End Function |
hasSpace Functionをテストするコードは以下になります。
半角スペースを含む文字列、全角スペースを含む文字列
スペースを含まない文字列を、それぞれ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 27 |
Option Explicit Sub test_hasSpace() 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 |
test_hasSpace Functionを実行すると
最初の文字列には半角スペースが含まれているため
「空白が含まれています」と表示されます。
次の文字列には全角スペースが含まれているため
「空白が含まれています」と表示されます。
最後の文字列にはスペースが含まれていないため
「空白は含まれていません」と表示されます。
コメント