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

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

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

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

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

目次

Trim関数の使い方

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

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

Trim(string)

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

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

Sub macro1()
    Dim str As String
    str = " Hello VBA! "
    
    MsgBox str & "(Trim前)" & vbCrLf & _
            Trim(str) & "(Trim後)"
End Sub

実行結果:
Trim01

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

LTrim関数、RTrim関数の使い方

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

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

LTrim(string)

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

RTrim(string)

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

Sub macro2()
    Dim str As String
    str = " Hello VBA! "
    
    MsgBox str & "(LTrim前)" & vbCrLf & _
            LTrim(str) & "(LTrim後)" & vbCrLf & _
            RTrim(str) & "(RTrim後)"
End Sub

実行結果:
Trim02

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

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

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

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

Sub macro3()
    Dim str As String
    str = vbTab & "Hello VBA!" & vbCrLf
    
    MsgBox str & "(Replace前)" & vbCrLf & _
            Replace(str, vbTab, "") & "(タブ削除後)" & vbCrLf & _
            Replace(str, vbCrLf, "") & "(改行削除後)"
End Sub

実行結果:
Trim03

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

まとめ

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

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

この記事を書いた人

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

目次