【发布时间】:2020-04-02 19:19:59
【问题描述】:
我想删除文本或数字左右的空格。
我想使用 VBA 代码。
由于我现在在电子表格的每个单元格中应用公式,这将为我节省大量工作。
逐个单元格起作用的公式:
对于数字:
=TRIM(SUBSTITUTE(A1;CHAR(160);CHAR(32)))*1
对于文本和空单元格:
=TRIM(SUBSTITUTE(A1;CHAR(160);CHAR(32)))
我在互联网上找到了这个 VBA 代码。它不能解决我的情况。我发现有趣的是它会生成一个要求选择单元格的框。
Sub Clear()
Dim rLocal As Range
'Assignment of variables
Set rLocal = Application.InputBox(Prompt:="Select the cells you want to clear...", Type:=8)
rLocal.Replace What:=" ", Replacement:=""
End Sub
当我将“”更改为“”时,我发现以下代码有效。它似乎很重,并且似乎多次进行相同的替换。
Public Sub RemoveSpaceInString()
Dim myCell As Range
For Each myCell In Selection
myCell = Trim(myCell)
myCell = Replace(myCell, vbTab, "")
myCell = Replace(myCell, " ", "")
myCell = Replace(myCell, Chr(160), "")
Next myCell
End Sub
如果无法创建 Application.InputBox,代码将对 Excel 工作簿中的所有电子表格进行此更改。
【问题讨论】: