[ VBA入門 ] 文字列の前後および文字列内のスペースを除去する ( Trim RTrim LTrim )

Pocket

LTrim、Rtrim または Trim 関数を使用して文字列の前後のスペース ( 空白 ) を除去することができます。

関数名 機能
LTrim 文字列の前方のスペースを除去する
RTrim 文字列の後方のスペースを除去する
Trim 文字列の前後のスペースを除去する
スポンサーリンク

LTrim Rtrim Trim 関数の使用サンプル

サンプルコードでは分かりにくいですが、半角および全角スペースに関わらず、いずれのスペースも除去されます。

    Dim str As String
    
    str = "   ABC  DEF  "

    ' 先頭のスペースのみ除去
    Debug.Print LTrim(str) & "  文字数 = " & Len(LTrim(str)) ' ABC  DEF    文字数 = 10
    
    ' 後方のスペースのみ除去
    Debug.Print RTrim(str) & "  文字数 = " & Len(RTrim(str)) '    ABC  DEF  文字数 = 11
    
    ' 前後両方のスペースを除去
    Debug.Print Trim(str) & "  文字数 = " & Len(Trim(str))   ' ABC  DEF  文字数 = 8

文字列内の空白を除去する ( Rplace 関数 )

上記サンプルで示した3つの Trim 関数は文字列内のスペースは除去することができません。文字列中のスペース(空白)を除去するには Replace 関数を使ってスペースを空文字列に置換する方法があります。

なお、サンプル内のコメントにも書いてありますが、Replace 関数は半角と全角のスペースを区別します。半角スペースと全角スペースを両方除去するには、2度 Replace 関数を使用する必要があります。

    Dim str As String    
    str = "   ABC   DEF  "
    ' 半角スペースを空文字列に置換する
    ' Replace 関数は半角と全角を区別するので注意すること
    Debug.Print Replace(str, " ", "") ' ABCDEF
参考
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *