Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » 文字の後ろの空白を削除したい

文字の後ろの空白を削除したい

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「文字列の後のスペースだけ削除したいのですが・・・?」
「セル内の文字の後ろの空白だけを削除するにはどうしたらいいのでしょう?」
といったご質問をいただくことがあります。

多くのプログラミング言語には、文字列の後ろのスペースだけを削除する「RTRIM」といった関数が用意されていますが、Excelの場合ワークシート関数には「TRIM」はありますが「RTRIM」がありません。

(また、ExcelのTRIM関数はちょっと微妙な仕様です。)

[スポンサードリンク]

文字列の後ろのスペースだけ削除する必要があるのなら、VBA(Visual Basic for Applications)でユーザー定義関数を作るといいでしょう。

▼文字列の後ろのスペースを削除するユーザー定義関数

Function TRIM_R(strOrg As String)

 TRIM_R = RTrim(strOrg)

End Function

VBAのRTrim関数を呼ぶだけのユーザー定義関数です。

▼サンプルファイル(003309.xls 37KByte)ダウンロード

サンプルファイルのA列に半角スペース・全角スペースを含んだ文字列、C列には上記のTRIM_R関数で後のスペースだけを削除した例、比較のためE列にはExcelではじめから用意されているTRIM関数を利用した例を入力してあります。

B・D・F列には「=SUBSTITUTE(SUBSTITUTE(A2," ","□")," ","[]")」といった数式を入力してA・C・E列にどんな入力が行われているのかを、全角スペースを「□」半角スペースを「[]」で表示していますので、ご確認ください。

関連語句
自作関数, 文字後の空白を削除, 後のスペースだけを削除する, 右のスペースだけ削除したい, いらないブランクを無くしたい, 最後スペース文字を除くエクセル関数

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » 文字の後ろの空白を削除したい

「ユーザー定義関数」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.