Trim、LTrim、RTrim
Trim、LTrim、RTrim関数は文字列の両端、左側、右側から連続する半角スペースと全角スペースを除去します。
| 関数 | 変換前 | 変換後 | 
|---|---|---|
| Trim | ” □abc□ “ | “abc” | 
| LTrim | ” □abc□ “ | “abc□ “ | 
| RTrim | ” □abc□ “ | ” □abc” | 
□は全角スペースを意味します。
構文
| 1 2 3 4 5 6 | Function Trim(String) Function Trim$(String As String) As String Function LTrim(String) Function LTrim$(String As String) As String Function RTrim(String) Function RTrim$(String As String) As String | 
| String | スペースを削除する前の文字列を指定します。 | 
| 戻り値 | スペースを除去したあとの文字列を内部処理形式がStringのVariantの値で返します。 | 
$ありと$なしの関数がありますが通常は$なしで問題ありません。$ありなしの違いについては「VBA関数の$ドルマークの意味」を参照ください。
ワークシート関数のTRIM関数との違い
ワークシート関数にTRIM関数があります。
半角、全角スペースを両端から削除します。
VBA関数のTrim関数との違いですが、違いはありません。
なお、ワークシート関数にはVBA関数のLTrim、RTrim関数に該当する関数はありません。
文字列の途中にあるスペースを除去するには
Trim、LTrim、RTrim関数は文字列の両端のスペースが対象になるため、文字列内にスペース文字があっても除去しません。
文字列内にある全てのスペースを除去したい場合はReplace関数を使います。
元文字列は” abc 12□3 “です。□は全角スペースです。
半角スペースの除去と全角スペースの除去を分けて処理しています。
| 1 2 3 4 5 6 7 8 9 10 | Sub TrimMidTest()     Dim s     s = " abc 12 3 "     Debug.Print "[" & s & "]"   '// [ abc 12 3 ]     s = Replace(s, " ", "")     Debug.Print "[" & s & "]"   '// [abc12 3]     s = Replace(s, " ", "")     Debug.Print "[" & s & "]"   '// [abc123] End Sub | 
サンプルコード
元文字列” □abc□ “(□は全角スペースです。)に対してTrim、LTrim、RTrimを行うサンプルです。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sub TrimTest()     Dim s     Dim ret     s = "  abc  "     ret = Trim(s)     Debug.Print "[" & ret & "]"     '// [abc]     ret = LTrim(s)     Debug.Print "[" & ret & "]"    '// [abc  ]     ret = RTrim(s)     Debug.Print "[" & ret & "]"    '// [  abc] End Sub |