文字列の先頭 / 末尾のスペースを削除する(LTrim / RTrim / Trim関数)|Excel VBA |
LTrim関数は文字列から先頭のスペースを、RTrim関数は末尾のスペースを、それぞれ削除した文字列を返します。先頭と末尾のスペースを両方削除するには、Trim関数を使用します。
いずれの関数も、スペースは半角/全角に関わらずに削除されます。
構文 LTrim(String) 先頭のスペース削除 RTrim(String) 末尾のスペース削除 Trim(String) 先頭と末尾のスペース削除
設定項目 | 内容 |
---|---|
String | 空白を削除したい文字列式を指定 [省略不可] |
Sub Sample()
Dim myStr As String
myStr = " スキルアップ・問題解決なら モーグにおまかせ! "
'---(1)LTrim
MsgBox "『" & myStr & "』 の先頭の半角スペースを削除します。" & vbCrLf & _
"『" & LTrim(myStr) & "』", , "LTrim関数"
'---(2)RTrim
MsgBox "『" & myStr & "』 の末尾の全角スペースを削除します。" & vbCrLf & _
"『" & RTrim(myStr) & "』", , "RTrim関数"
'---(3)Trim
MsgBox "『" & myStr & "』 の両端のスペースを削除します。" & vbCrLf & _
"『" & Trim(myStr) & "』", , "Trim関数"
End Sub
(1)〜(3)のそれぞれの実行結果の違いを確認してください。
LTrim関数、RTrim関数、Trim関数では、文字列中の空白を削除することはできません。
文字列中の空白を削除する場合は、Replace関数を使用します。
ワークシート関数にもTrim関数がありますが、VBAのTrim関数とは挙動が異なります。
ワークシート関数のTrim関数は先頭と末尾の空白を削除し、さらに文字列中に連続する空白があった場合、空白を1つにして残りを削除します。
Sample1に次のコードを追加すると、動作を確認できます。
MsgBox "『" & myStr & "』 の空白をワークシート関数で削除します。" & vbCrLf & _
"『" & WorksheetFunction.Trim(myStr) & "』", , "ワークシート関数"