【VBA入門】Trim関数で文字列前後の空白を削除

Trim関数って使っていますか?Trim関数はある文字列からスペースを削除したいときに使用します。

この記事では、Trim関数について

  • Trim関数の使い方
  • LTrim関数、RTrim関数の使い方
  • 改行、タブ、全角スペースを削除する方法

など基本的な内容から、応用的な内容についても解説していきます。今回はTrim関数について、使い方をわかりやすく解説します!

Trim関数の使い方

Trim関数は、指定された文字列から先頭と末尾両方のスペース(半角)を削除した文字列を返します。

以下のように記述します。

  1. Trim(string)

引数stringにNull値が含まれている場合は、Nullを返します。

サンプルコードで確認しましょう

  1. Sub macro1()
  2. Dim str As String
  3. str = " Hello VBA! "
  4. MsgBox str & "(Trim前)" & vbCrLf & _
  5. Trim(str) & "(Trim後)"
  6. End Sub

実行結果:
Trim01

このサンプルコードでは、Trim関数を使ってString型変数strに格納されている文字列の先頭と末尾のスペースを削除しています。なお、削除されるのは先頭と末尾のスペースで、文字列中のスペースは削除されません。

LTrim関数、RTrim関数の使い方

LTrim関数、RTrim関数はTrim関数と同様に指定された文字列からスペースを削除します。LTrim関数の場合は、先頭のスペースを削除します。RTrim関数の場合は、末尾のスペースを削除します。

LTrim関数は以下のように記述します。

  1. LTrim(string)

RTrim関数は以下のように記述します。

  1. RTrim(string)

サンプルコードで確認しましょう。

  1. Sub macro2()
  2. Dim str As String
  3. str = " Hello VBA! "
  4. MsgBox str & "(LTrim前)" & vbCrLf & _
  5. LTrim(str) & "(LTrim後)" & vbCrLf & _
  6. RTrim(str) & "(RTrim後)"
  7. End Sub

実行結果:
Trim02

改行、タブ、全角スペースを削除する方法

改行、タブ、全角スペースなども削除したい場合があります。

しかし、これらはTrim関数で削除することはできません。これらを削除する場合はReplace関数を使用します。Replace関数は指定文字を置換文字に変更することができます。

改行、タブ、全角スペースなどを文字数ゼロの空文字に置換することで、削除することができます。

  1. Sub macro3()
  2. Dim str As String
  3. str = vbTab & "Hello VBA!" & vbCrLf
  4. MsgBox str & "(Replace前)" & vbCrLf & _
  5. Replace(str, vbTab, "") & "(タブ削除後)" & vbCrLf & _
  6. Replace(str, vbCrLf, "") & "(改行削除後)"
  7. End Sub

実行結果:
Trim03

このサンプルコードでは、Replace関数を使ってString型変数strから、タブと改行をそれぞれ削除しています。サンプルコードにはありませんが、全角スペースも同様にして削除できます。

まとめ

ここでは、Trim関数、LTrim関数、RTrim関数の使い方について説明しました。Trim関数が削除できるのは先頭や末尾の半角スペースのみです。タブや改行、全角スペースを削除する場合はReplace関数を使いましょう。

使いこなすことができるように、この記事を何度も参考にして下さいね!

\業界最安級/
月額2,980円のプログラミングスクール

✔ 業界最安値の月定額2,980円
✔ 「Q&A掲示板」で平均30分以内に回答がもらえる
✔ 月に一度の「オンライン相談」で悩みを解決
✔ 教材の数は30種類以上
✔ 入会金不要+いつでも退会OK

公式サイトはこちら

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
info@sss-lab.com

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI ENGINEER Plus

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close
undefined