メインコンテンツへスキップ
VBAで文字列にスペースが含まれているか判断する

VBAで文字列にスペースが含まれているか判断する

··2 分
Programming VBA
かずさプログラマー
著者
かずさプログラマー
業務の作業自動化を行っています。Go、VBA、Pythonを主に使用しています。過去にはC#、VB.Net、JavaScriptも使用していました。

VBAで文字列にスペースが含まれているか判断するにはInStr関数を使います。

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を実行すると最初の文字列には半角スペースが含まれているため「空白が含まれています」と 表示されます。

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

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

関連記事

VBAで文字列に全角が含まれているか判断する
·2 分
Programming VBA
【VBA】データを並び替える
·2 分
Programming VBA
【VBA】Shell関数を使用してフォルダを開く
·2 分
Programming VBA