【VBA】先頭,末尾,両端の空白を削除する|Trim
作成日:2022-11-01
更新日:2025-10-05

半角スペース・全角スペース・タブ・改行を削除する|左か右か両端か
Public Function TrimWhiteSpace( _
ByVal text As String, _
Optional ByVal mode As String = "両" _
) As String
Dim tmp As String
tmp = text
mode = UCase$(mode)
' 改行・タブは一時的に半角スペース化(Trimが認識できるように)
tmp = Replace(tmp, vbCr, " ")
tmp = Replace(tmp, vbLf, " ")
tmp = Replace(tmp, vbTab, " ")
Select Case mode
Case "左" ' 左側削除
tmp = LTrim(tmp)
Do While Left$(tmp, 1) = " "
tmp = Mid$(tmp, 2)
Loop
Case "右" ' 右側削除
tmp = RTrim(tmp)
Do While Right$(tmp, 1) = " "
tmp = Left$(tmp, Len(tmp) - 1)
Loop
Case Else ' 両端削除(デフォルト "両")
tmp = Trim(tmp)
Do While Left$(tmp, 1) = " "
tmp = Mid$(tmp, 2)
Loop
Do While Right$(tmp, 1) = " "
tmp = Left$(tmp, Len(tmp) - 1)
Loop
End Select
TrimWhiteSpace = tmp
End Function
Optional
引数で方向を指定:"左"
,"右"
,"両"
(Left, Right, Both)- デフォルトは両端(
"
)両
" Optional
+UCase$()
で大小文字を気にせずモード指定可能。- 標準の
Trim/LTrim/RTrim
で半角スペースを除去後、
Do While
で全角スペースを除去。 - 正規表現を使わず高速・軽量。
使用例
呼び出し例 | 説明 | 戻り値 |
---|---|---|
TrimSpace(" ABC ") | デフォルト(両端) | "ABC" |
TrimSpace(" ABC ", "左") | 左側のみ | "ABC " |
TrimSpace(" ABC ", "右") | 右側のみ | " ABC" |
Reference
- Microsoft Docs. Trim, LTrim, and RTrim functions (VBA)
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/trim-ltrim-and-rtrim-functions
| Whitespace|空白文字 |
| Optional Parameter|省略可能引数 |
| Full-width Space|全角スペース |
| Input Normalization|入力正規化 |
| Lightweight Function|軽量関数 |
| Mode Selector|モード選択引数 |
文字列をカットしたい場合
Trim whichever side you like
— the goal is always clarity.
— the goal is always clarity.

同じ処理をPythonでも書いてみよう
2022-11-01
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-
[VBA]ShowMessage Box 【VBA】メッセージボックスをモジュールに集める|OKOnly,OKCancel,YesNo -
ユーザーフォームにドラッグ&ドロップ 【VBA】ドラッグアンドドロップできるユーザーフォーム|ListView -
dictionaryをセットする 【VBA】Dictionaryのセット|CreateObject(“Scripting.Dictionary”) -
[VBA]extract the filenamefrom a full path 【VBA】フルパスからファイル名と拡張子を取得する|fso.GetFileName/GetBaseName/GetExtensionName -
[VBA]開いていたら閉じる 【VBA】指定のブックが開いていたら閉じる -
[VBA]Paste 2D Arrayresize once 【VBA】二次元配列をシートに貼り付け【範囲をリサイズする】