VBAでセル内の前後・左右の空白を削除する方法【Trim・LTrim・RTrimの使い分け】

目次

概要

Excelに入力されたデータに、意図せず前後に半角スペース(空白文字)が含まれてしまうことはよくあります。こうした不要なスペースは、検索・集計・比較処理の妨げとなるため、あらかじめ削除しておくことが重要です。

本記事では、VBAを使ってセルの前後、または左右の空白を削除する方法について、TrimLTrimRTrim の使い分けを中心にご紹介いたします。

サンプルコード

Sub RemoveExtraSpaces()

    ' 左右の空白を削除(両側)
    Range("D2").Value = Trim(Range("D2").Value)

    ' 左側の空白のみ削除
    Range("D3").Value = LTrim(Range("D3").Value)

    ' 右側の空白のみ削除
    Range("D4").Value = RTrim(Range("D4").Value)

End Sub

コード解説

Trim(文字列)

  • 先頭と末尾の両方の空白を削除します。
  • 単語間の空白(中央のスペース)は削除されません。
  • 例: " 札幌 市 ""札幌 市"

LTrim(文字列)

  • 左側(先頭)の空白だけを削除します。
  • 末尾の空白は残ります。
  • 例: " 北海道 ""北海道 "

RTrim(文字列)

  • 右側(末尾)の空白だけを削除します。
  • 先頭の空白は残ります。
  • 例: " 函館 "" 函館"

応用例

  • ユーザーの入力値に混入した不要な空白の除去
  • データベース連携前の事前整形処理
  • VLOOKUPMATCH の前処理として、空白を削除して一致精度を向上

注意点

  • Trim 系の関数は、全角スペースには対応していません。全角スペースを削除するには Replace(文字列, " ", "") を併用する必要があります。
  • 数値に適用した場合でもエラーにはなりませんが、変換後の型が文字列になりますので、用途に応じて扱いに注意が必要です。

まとめ

本記事では、VBAを使用してセル内の空白を削除する以下の3つの関数についてご紹介いたしました。

関数名削除する空白の範囲代表的な用途
Trim左右両端一般的な前後空白の除去
LTrim左側(先頭)左寄せ整形時の前処理
RTrim右側(末尾)右寄せデータの整形

データの整形・前処理において、空白の制御は非常に重要です。簡単なVBAコードで精度の高いデータ管理が可能になりますので、ぜひ実務にご活用ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次