【ExcelVBA・マクロ】RTrim関数の使い方|文字列の右側の空白を削除する方法【コピペOK】

RTrim関数の使い方 ExcelVBA

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関数を使いこなせるようになると、データ品質や比較精度が大きく向上します。
実務では頻出の関数なので、ぜひマスターしておきましょう。

スポンサーリンク
スポンサーリンク
ExcelVBA
いがぴをフォローする

コメント

タイトルとURLをコピーしました