VBA Trim 函數:清除字串前後的多餘空白字元

VBA Trim 函數:清除字串前後的多餘空白字元

📅 發布日期:2026-09-01 🏷️ 分類:字串處理 VBA 函數
💡 函數速查卡
函數名稱 Trim / Trim$
所屬類別 字串處理 (String Manipulation)
傳回類型 Variant (String) / String
常用頻率 ★★★★★

在 Excel VBA 資料清理與字串比對過程中,Trim 是極為常用的基礎函數。它能自動移除指定字串開頭與結尾的多餘空白字元(Space),確保資料在進行數據整理、文字比對或寫入資料庫時不會因人為誤植的空白而導致錯誤。

一、 基本語法與參數

Trim 函數的標準語法結構如下:

Trim(string)
參數 說明 預設值 / 必填
string 要移除首尾空白的目標字串表達式。 必填

二、 核心功能說明

Trim 函數會同步將字串最左側與最右側的所有半角空白字元剔除,但不會影響字串內部的單個或連續空白

在實際 VBA 自動化開發中,常見的使用情境包括:

  • 清洗從外部文字檔(CSV、TXT)或網頁爬蟲複製進來的混亂文字。
  • 使用者在表單 InputBox 或儲存格輸入帳號密碼、工號時的前後空白預防處理。
  • 在進行關鍵字精確比對(如 If str1 = str2 Then)前確保資料無隱藏空白。

三、 實用程式碼範例

範例 1:基本移除前後空白與長度驗證

觀察移除前後空白對字串長度(Len)的影響:

Sub BasicTrimExample()
    Dim rawText As String, cleanText As String
    rawText = "   Hello World   "
    
    cleanText = Trim(rawText)
    
    Debug.Print "原始長度: " & Len(rawText)   ' 輸出: 17
    Debug.Print "清理後長度: " & Len(cleanText) ' 輸出: 11
    Debug.Print "結果: [" & cleanText & "]"  ' 輸出: [Hello World]
End Sub

範例 2:工作表指定範圍批量清除空白

遍歷選取範圍內的儲存格,批次去除字串兩端的多餘空白:

Sub TrimSelectedCells()
    Dim cell As Range
    For Each cell In Selection
        If Not IsEmpty(cell.Value) And VarType(cell.Value) = vbString Then
            cell.Value = Trim$(cell.Value)
        End If
    Next cell
End Sub

範例 3:搭配 LTrim 與 RTrim 單邊處理

若只想針對左側(頭)或右側(尾)進行空白清除,可選擇對應的單邊函數:

Sub LeftRightTrimExample()
    Dim text As String
    text = "   Data   "
    
    Debug.Print "LTrim: [" & LTrim(text) & "]" ' 輸出: [Data   ] (僅切除左邊)
    Debug.Print "RTrim: [" & RTrim(text) & "]" ' 輸出: [   Data] (僅切除右邊)
End Sub

四、 常見陷阱與注意事項

⚠️ 注意事項 1:VBA Trim 與 Excel 工作表 TRIM 函數行為不同
VBA 的 Trim 只會移除首尾空白,字串中間的多重連續空白會被完整保留。若希望將中間連續多個空白壓縮為單一空白,需呼叫工作表函數:Application.WorksheetFunction.Trim(text)
⚠️ 注意事項 2:無法清除不合規空白(如 Chr(160) 全形或不換行空白)
Trim 僅能識別標準 ASCII Code 32 的半角空白。若資料包含網頁常出現的不換行空白(NBSP, Chr(160))或全形空白(Chr(12288)),需搭配 Replace 先行替換為標準空白後再執行 Trim

五、 相關函數推薦

  • LTrim:僅移除字串最左側(開頭)的空白字元。
  • RTrim:僅移除字串最右側(結尾)的空白字元。
  • Replace:將字串中特定的字元(如不可見空白或全形空白)替換為指定文字。
  • Len:計算並傳回目標字串的總字元長度。

六、 官方文件連結

想進一步瞭解更詳細的極端情境與進階用法,可參考微軟官方說明:

留言

相關文章 / 薪資情報

文章載入中...

你可能有興趣

精選文章 / 推薦情報

文章載入中...