VBAで文字列を扱っていると、次のようなことはありませんか?
- 末尾の空白を削除したい
- データをきれいに整形したい
- 比較時に余計なスペースで一致しない
このような場合は、RTrim関数を使うことで解決できます。
文字列の右側(末尾)の空白だけを削除できる関数です。
この記事では、RTrim関数の基本から実務での活用方法まで分かりやすく解説します。
この記事でできること
- 末尾の空白を削除できる
- データ整形ができる
- 比較処理の精度を向上できる
基本:RTrim関数の使い方
基本構文はこちらです。
RTrim(文字列)
例:
MsgBox RTrim("ABC ")
→ ABC
RTrim関数の特徴
- 右側(末尾)の空白のみ削除
- 左側の空白は削除されない
基本例
Dim str As String
str = "ExcelVBA "
MsgBox RTrim(str)
→ ExcelVBA
セルの値を整形する
Range("A1").Value = RTrim(Range("A1").Value)
セル末尾の余計な空白を削除できます。
比較処理で使う(重要)
空白による不一致を防げます。
If RTrim("ABC ") = "ABC" Then
MsgBox "一致しています"
End If
LTrim・Trimとの違い
| 関数 | 内容 |
|---|---|
| LTrim | 左側の空白を削除 |
| RTrim | 右側の空白を削除 |
| Trim | 両側の空白を削除 |
両側の空白を削除する場合
Trim(" ABC ")
→ ABC
CSVデータ整形でよく使う
外部データでは末尾スペースが混ざることがあります。
Dim data As String
data = "商品A "
MsgBox RTrim(data)
実務での活用例
- CSVデータ整形
- 文字列比較前の整形
- データクレンジング
- 入力値の標準化
実務では非常によく使われます。
注意点
① 全角スペースは削除されない
RTrim("ABC ")
→ 全角スペースは残る場合があります。
② Nullに注意
Nullの場合はエラーになります。
安全な書き方(おすすめ)
Dim val As Variant
val = Range("A1").Value
If Not IsNull(val) Then
MsgBox RTrim(val)
End If
よくあるエラーと対処法
① 空白が消えない
全角スペースの可能性があります。
② 型が一致しません
Nullやエラー値の可能性があります。
③ 思った通りに比較できない
先頭にも空白がある場合はTrimを使用してください。
④ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- RTrimは右側の空白を削除する関数
- データ整形で非常に便利
- Trimとの使い分けが重要
- CSVや外部データ処理で活躍
RTrim関数を使いこなせるようになると、データ品質や比較精度が大きく向上します。
実務では頻出の関数なので、ぜひマスターしておきましょう。

コメント