簡體   English   中英

等效於VBA TRIM函數Excel和工作表函數

[英]Equivalent of VBA TRIM function Excel with worksheet function

我知道TRIM函數作為工作表函數和VBA函數返回不同的結果:

  • 工作表函數從文本字符串中刪除所有空格,但單詞之間的單個空格除外
  • 而VBA功能僅刪除前導和尾隨空格。

有一種方法可以使用工作表函數來模擬VBA行為,而無需自定義VBA函數?

僅使用工作表函數,您可以在A1中嘗試使用此文本字符串:

=REPLACE(LEFT(A1,MATCH(2,1/(MID(A1,MMULT(ROW(INDIRECT("1:"&LEN(A1))),1),1)<>" "))),1,FIND(LEFT(TRIM(A1)),A1)-1,"")

由於缺少字符串反向工作表函數,因此查找不是空格的最后一個字符的位置並不容易。

如果您不想使用VBA,則使用Data | Text to Columns和以下選項會更簡單:

  1. 固定寬度
  2. 沒有斷線
  3. 目的地:B1

這也會刪除前導和尾隨空格。

工作表函數從文本字符串中刪除所有空格,但單詞之間的單個空格除外

不,並非完全正確:)工作表TRIM函數不會刪除不間斷空格字符( &nbsp; )。 要刪除不間斷的空格字符,您可以使用另一個名為CLEAN()函數。

如果要在VBA中使用工作表功能Trim ,則可以像這樣使用它

Application.WorksheetFunction.Trim(Range("A1").Value)

在Excel工作表中,您可以使用=TRIM()

您可以在VBA中編寫一個可以在工作表中引用的函數。

例如:

Public Function MyTrim(text As String) As String    
    MyTrim = Trim(text)    
End Function

然后在工作表中,假設要修剪的文本位於單元格A1中:

=MyTrim(A1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM