目次
概要
Excelに入力されたデータに、意図せず前後に半角スペース(空白文字)が含まれてしまうことはよくあります。こうした不要なスペースは、検索・集計・比較処理の妨げとなるため、あらかじめ削除しておくことが重要です。
本記事では、VBAを使ってセルの前後、または左右の空白を削除する方法について、Trim
、LTrim
、RTrim
の使い分けを中心にご紹介いたします。
サンプルコード
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(文字列)
- 右側(末尾)の空白だけを削除します。
- 先頭の空白は残ります。
- 例:
" 函館 "
→" 函館"
応用例
- ユーザーの入力値に混入した不要な空白の除去
- データベース連携前の事前整形処理
VLOOKUP
やMATCH
の前処理として、空白を削除して一致精度を向上
注意点
Trim
系の関数は、全角スペースには対応していません。全角スペースを削除するにはReplace(文字列, " ", "")
を併用する必要があります。- 数値に適用した場合でもエラーにはなりませんが、変換後の型が文字列になりますので、用途に応じて扱いに注意が必要です。
まとめ
本記事では、VBAを使用してセル内の空白を削除する以下の3つの関数についてご紹介いたしました。
関数名 | 削除する空白の範囲 | 代表的な用途 |
---|---|---|
Trim | 左右両端 | 一般的な前後空白の除去 |
LTrim | 左側(先頭) | 左寄せ整形時の前処理 |
RTrim | 右側(末尾) | 右寄せデータの整形 |
データの整形・前処理において、空白の制御は非常に重要です。簡単なVBAコードで精度の高いデータ管理が可能になりますので、ぜひ実務にご活用ください。