消除 VBA 中的空格

Eliminate blank spaces in VBA

我有一个从系统导出的标准工作表,当单元格没有信息时,系统用空格填充它。 我使用一个变量来接收单元格值,然后检查是否有任何信息。 如果有,我会使用 Trim 消除字符串两边的空格,但是,当单元格中没有信息时,变量会收到一串空格,而 Trim 不会工作。 例子: 带有信息的单元格 - “1A90”。使用 Trim - “1A90” 没有信息的单元格 - “”。使用 Trim - " "。 我想将结果转换为空或“”。 有人可以帮帮我吗?

Select 您要清理的范围和 运行 这个子例程。

Sub CleanTrimCells_Evaluate()
SOURCE: www.TheSpreadsheetGuru.com/the-code-vault

Dim rng As Range
Dim Area As Range

'Weed out any formulas from selection
  If Selection.Cells.Count = 1 Then
    Set rng = Selection
  Else
    Set rng = Selection.SpecialCells(xlCellTypeConstants)
  End If

'Trim and Clean cell values
  For Each Area In rng.Areas
    Area.Value = Evaluate("IF(ROW(" & Area.Address & "),CLEAN(TRIM(" & Area.Address & ")))")
  Next Area
  
End Sub

我不知道这是否是最佳答案,但它奏效了。

函数 limpa_espacos(texto As String) <pre><code>For i = 1 To Len(texto) If Asc(Mid(texto, i, 1)) = 160 Then var_texto = "" Else var_texto = Mid(texto, i, 1) End If limpo = limpo & var_texto Next i

limpa_espacos = 无期

结束函数