VBAで文字列を扱っていると、次のようなことはありませんか?
- 先頭や末尾の空白を削除したい
- データを整形したい
- 比較処理で余計なスペースを無視したい
このような場合は、Trim関数を使うことで解決できます。
文字列の先頭と末尾の空白を削除できる便利な関数です。
この記事では、Trim関数の基本から実務での活用方法まで分かりやすく解説します。
この記事でできること
- 前後の空白を削除できる
- データをきれいに整形できる
- 文字列比較の精度を向上できる
Trim関数とは?
Trim関数は、文字列の先頭と末尾にある半角スペースを削除する関数です。
例えば次の文字列がある場合、
" Excel VBA "
Trim関数を使用すると、
"Excel VBA"
へ変換できます。
基本:Trim関数の使い方
基本構文はこちらです。
Trim(文字列)
基本例
MsgBox Trim(" Excel VBA ")
→ Excel VBA
変数を使った例
Dim str As String
str = " Hello World "
MsgBox Trim(str)
→ Hello World
セルの値を整形する
Range("A1").Value = Trim(Range("A1").Value)
A1セルの前後の空白を削除できます。
文字列比較で使う
空白による比較ミスを防げます。
If Trim(Range("A1").Value) = "管理者" Then
MsgBox "一致しました"
End If
入力チェックで使う
入力された値が空かどうか確認できます。
If Trim(TextBox1.Value) = "" Then
MsgBox "入力してください"
End If
LTrim・RTrimとの違い
| 関数 | 削除する場所 |
|---|---|
| LTrim | 左側(先頭)の空白 |
| RTrim | 右側(末尾)の空白 |
| Trim | 両側の空白 |
使用例
LTrim
MsgBox LTrim(" ABC")
→ ABC
RTrim
MsgBox RTrim("ABC ")
→ ABC
Trim
MsgBox Trim(" ABC ")
→ ABC
実務での活用例
- CSVデータ取り込み
- ユーザー入力チェック
- 検索処理
- マスタデータ整形
実務では非常によく使われる関数です。
注意点
① 文字列の途中の空白は削除されない
MsgBox Trim("Excel VBA")
→ Excel VBA
途中のスペースは残ります。
② 全角スペースは削除されない
Trim(" Excel VBA ")
→ 全角スペースは残る場合があります。
全角スペースを削除したい場合はReplace関数を併用します。
Replace(Trim(str), " ", "")
③ Nullに注意
Null値を渡すとエラーになる場合があります。
安全な書き方(おすすめ)
Dim val As Variant
val = Range("A1").Value
If Not IsNull(val) Then
MsgBox Trim(val)
End If
大量データを一括整形する
Dim c As Range
For Each c In Range("A1:A100")
c.Value = Trim(c.Value)
Next c
A1~A100の空白をまとめて削除できます。
よくあるエラーと対処法
① 空白が消えない
全角スペースの可能性があります。
② 型が一致しません
Nullやエラー値が含まれている可能性があります。
③ 比較が一致しない
前後の空白が残っていないか確認してください。
④ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- Trimは文字列の前後の空白を削除する関数
- データ整形や入力チェックで活躍
- 途中の空白は削除されない
- LTrim・RTrimとの違いを理解することが重要
Trim関数を使いこなせるようになると、データの品質向上や比較処理の精度向上につながります。
VBAでは非常に使用頻度が高い関数なので、ぜひマスターしておきましょう。

コメント