和風スパゲティのレシピ

日本語でコーディングするExcelVBA

文字列前後の空白を削除する-Trim/LTrim/RTrim関数

文字列の前後のスペースを削除するTrim関数の使い方を解説します。


Trim関数シリーズには以下の4つが用意されています。

  • Trim関数 … 前後両方のスペースを削除
  • LTrim関数 … 前方(左側)のスペースを削除
  • RTrim関数 … 後方(右側)のスペースを削除
  • WorksheetFunction.Trim … 前後のスペースを削除し、さらに途中にある複数のスペースを1つにする

状況に応じて使い分けてください。

基本構文

Trim(対象文字列)
LTrim(対象文字列)
RTrim(対象文字列)
WorksheetFunction.Trim(対象文字列)

実行例

Dim 文字列 As String
文字列 = "  ABC  あいう  "
' ※ 前後真ん中は半角スペースが2つずつ
    
Debug.Print Trim(文字列) ' = 「ABC  あいう」
Debug.Print LTrim(文字列) ' = 「ABC  あいう  」
Debug.Print RTrim(文字列) ' = 「  ABC  あいう」
Debug.Print WorksheetFunction.Trim(文字列) ' = 「ABC あいう」

解説

Trim関数は前後左右のスペースを削除する関数です。


実行例の通り、以下の仕様でスペースを削除してくれます。

  • Trim関数 … 前後両方のスペースを削除
  • LTrim関数 … 前方(左側)のスペースを削除
  • RTrim関数 … 後方(右側)のスペースを削除
  • WorksheetFunction.Trim … 前後のスペースを削除し、さらに途中にある複数のスペースを1つにする


この関数は全角スペースに対しても実行でき、

  • VBA関数3種は全角スペースも完全に除去
  • WorksheetFunction.Trimは前後の全角スペースは完全に除去し、途中の複数スペースは「最初のスペースひとつだけ」にする

このような挙動で動きます。


例えば「全角半角」なら全角スペースが残り、
「半角全角」なら半角スペースが残ります。

あまり気にする挙動ではなさそうですが一応知っておいて下さい。