【Excel VBA】文字列をトリムする(Trim)の基本コードとやさしい解説

VBA & Excel
スポンサーリンク
スポンサーリンク

はじめに

Excelで作業をしていると、
「前後の空白を取りたい」
「データがきれいに揃わない」
そんな“ちょっとした違和感”に出会うことがあります。

そこで役立つのが Trim 関数 です。

ここでは、Trim の基本の使い方と、
実務で役立つ書き方を解説します。

まずはコードを確認

Dim s As String
s = Trim(" Excel VBA ")

結果は “Excel VBA“。
前後の空白が取り除かれます。

Trim の基本

文字列の前後の空白を削除する

Trim(文字列)
  • 前後の空白を取り除く
  • 文字列の中間(単語間)の空白はそのまま
  • 実務で最もよく使う“整え”の関数

よく使うパターン

セルの値をトリムする

Range("A1").Value = Trim(Range("A1").Value)

入力値を整えてから使う

Dim name As String
name = Trim(InputBox("名前を入力してください。"))

Split の前にトリムする

Dim arr As Variant
arr = Split(Trim(" A, B, C "), ",")

余分な空白があると Split の結果が乱れるため、
Trim と組み合わせると安心です。

具体的な例で理解する

CSVのような文字列を整える

Dim txt As String
txt = " A , B , C "
txt = Replace(txt, " ", "") '空白除去
Dim arr As Variant
arr = Split(txt, ",")

Trim と Replace を組み合わせると、
データがきれいに整います。

前後の空白を取り除いて比較する

If Trim(Range("A1").Value) = "OK" Then
MsgBox "一致しました。"
End If

空白のせいで一致しない問題を防げます。

ループで複数セルをトリムする

Dim i As Long
For i = 1 To 10
Cells(i, 1).Value = Trim(Cells(i, 1).Value)
Next i

データの前処理としてよく使うパターンです。

Trim と LTrim / RTrim の違い

関数内容
Trim前後の空白を削除
LTrim左側(先頭)の空白だけ削除
RTrim右側(末尾)の空白だけ削除

部分的に空白を取りたいときは LTrim / RTrim が便利です。

注意点(実務で気をつけたいこと)

文字列の中間の空白は削除されない

→ “A B” のような空白はそのまま残ります。

全角スペースは Trim では取れない

→ Replace を使うと安心です。

txt = Replace(txt, " ", "")   '全角スペース除去

数値に Trim を使うと文字列になる

→ 必要に応じて CInt や CLng で戻すと安全です。

応用:全角・半角スペースをまとめて除去する

Function CleanSpace(txt As String) As String
txt = Trim(txt)
txt = Replace(txt, " ", "") '全角スペース
CleanSpace = txt
End Function

実務でよく使う“空白クリーニング”の関数です。

まとめ

  • Trim は文字列の前後の空白を取り除く関数
  • 入力値の整形、比較、Split の前処理などで活躍
  • 中間の空白は残るため、必要に応じて Replace と併用
  • 全角スペースは Trim では取れない点に注意
  • データを“やさしく整える”ための基本テクニック

Trim は、文字列をそっと整えてくれる、静かな相棒です。


decopon
decopon

Trim を使うと、データがすっと整って、扱いやすくなります。
小さな空白を取り除くだけで、処理の安定感がぐっと増します。

moco
moco

空白がなくなると、文字がきゅっと引き締まって見えるね。
VBAは、こういう細かな整えごとも得意なんだなあ。

コメント

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