Ale*_*lon 3 excel vba excel-vba
我正在尝试删除列中"A"的每个字段中的空格.这个空格位于字符串的末尾,一些字符串有3个空格,其他4.当我运行代码时,我没有错误,所以我认为我有一个错误,因为运行时没有任何反应.
Dim result As String
Last = Cells(Rows.Count, "A").End(xlUp).Row
For i = Last To 1 Step -1
If (Right(Cells(i, "A").Value, 4)) Like " " Or (Right(Cells(i, "A").Value, 3)) Like " " Then
result = Replace(Cells(i, "A"), " ", "")
End If
Next i
Run Code Online (Sandbox Code Playgroud)
在您的特定情况下,问题是您将替换值存储在名为的字符串变量中result
,然后对其执行任何操作.如果你想要它Cell
,你必须在那里添加它,例如:
Cells(I, "A").Value = result
请记住,有一种Application.Trim
方法可以在循环中节省一些时间.尝试使用以下代码:
Dim rng as Range
set rng = Range("A1:A10")
rng.Value = Application.Trim(rng)
Run Code Online (Sandbox Code Playgroud)
目前你实际上并没有在循环中更新单元格,只是;
result = Replace(Cells(i, "A"), " ", "")
Run Code Online (Sandbox Code Playgroud)
你应该:
Cells(i, "A") = Replace(Cells(i, "A"), " ", "")
Run Code Online (Sandbox Code Playgroud)
或更好
Cells(i, "A") = rtrim$(Cells(i, "A"))
Run Code Online (Sandbox Code Playgroud)
这将删除所有正确的空格.您也可以删除if检查.
归档时间: |
|
查看次数: |
26278 次 |
最近记录: |