【Excel VBA】文字列から空白を取り除く関数(Trim)

当ページのリンクには広告が含まれている可能性があります。
文字列から空白を取り除く

こんにちは、ユーキです。

今回は、VBAで文字列から空白を取り除く関数(Trim)を紹介します。

目次

空白を取り除く関数

空白を取り除く関数には、文字列の先頭の空白を取り除く関数(LTrim)、文字列の最後の空白を取り除く関数(RTrim)、文字列の前後の空白を取り除く関数(Trim)があります。

それぞれ紹介したいと思います。

文字列の前後の空白を取り除く(Trim関数)

文字列の前後の空白を取り除くには、Trim関数を使用します。

Dim txt As String
txt = Trim("       おはよう ございます。      ")
'わかりやすくするため、前後に|を追加
MsgBox "|" & txt & "|"

上記を実行すると、「|おはよう ございます。|」を表示されます。全角スペース、半角スペースが混在していても除去されます。サンプルコードでも全角スペースと半角スペースを混在させています。文中の空白は削除されません。改行、タブ文字も対象外となります。

文字列の先頭の空白を取り除く(LTrim関数)

取り除く空白が文字列の先頭部分だけでよいのであれば、LTrim関数を使います。

Dim txt As String
txt = LTrim("       おはようございます。      ")
'わかりやすくするため、前後に|を追加
MsgBox "|" & txt & "|"

上記を実行すると、「|おはようございます。   |」と表示されます。先頭の空白は除去されますが、末尾のスペースは除去されず、そのままとなります。

文字列の最後の空白を取り除く(RTrim関数)

末尾の空白を取り除きたい場合は、RTrim関数を使用します。

Dim txt As String
txt = RTrim("       おはようございます。      ")
'わかりやすくするため、前後に|を追加
MsgBox "|" & txt & "|"

上記を実行すると、「|  おはようございます。|」と表示されます。

改行、タブ文字を取り除く

改行、タブ文字を取り除く場合には、Replace関数を使用します。

Replace関数の基本的な使い方は以下の記事を参考にしてください。

改行を取り除く

改行コードはvbNewLine、またはChr(13) & Chr(10)(Windowsの場合)を指定します。改行コードは実行環境で異なります。vbNewLineを指定しておくと環境に応じた改行コードが指定されます。Chr(13) & Chr(10)を直接指定しても問題はありませんが、vbNewLineをしておくほうが無難です。

Dim txt As String
txt = "おはようございます。" & vbNewLine & "今日もいい天気ですね!" & Chr(13) & Chr(10) & "さようなら"
’元の文章
MsgBox txt
’改行を取り除いた結果
MsgBox Replace(txt, vbNewLine, "")
MsgBox Replace(txt, Chr(13) & Chr(10), "")

タブ文字を取り除く

タブ文字はvbTab、またはChr(9)を指定します。どちらを指定しても問題はありませんが、意味がわかるvbTabを指定しておくほうが無難です。

Dim txt As String
txt = "おはようございます。" & vbTab & "今日もいい天気ですね!" & Chr(9) & "さようなら"
’元の文章
MsgBox txt
’タブ文字を取り除いた結果
MsgBox Replace(txt, vbTab, "")
MsgBox Replace(txt, Chr(9), "")

まとめ

今回は、空白を取り除く関数(Trim)についての紹介でした。

Point
  • 文字列の前後の空白を取り除くときは、Trim関数
  • 文字列の先頭の空白を取り除くときは、LTrim関数
  • 文字列の最後の空白を取り除くときは、RTrim関数
  • 除去される空白は全角スペース、半角スペース
  • 改行、タブ文字を取り除くときは、Replace関数を使用する

少しでもお役に立てば、幸いです。

スポンサーリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

旅好き職業プログラマ。文系大学卒業後、ITソフトウエア開発会社に勤務してプログラミング言語を学ぶ。現在は転職し、プロジェクトマネージャ的ポジションで生産管理システムの開発にあたる。
得意言語は、VB、VB.NET、C#.NET、Java、SQLなど。

目次