消除 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 = 无期
结束函数
我有一个从系统导出的标准工作表,当单元格没有信息时,系统用空格填充它。 我使用一个变量来接收单元格值,然后检查是否有任何信息。 如果有,我会使用 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 = 无期
结束函数