使用vba删除excel中的chr160字符
在下面的代码中,我想删除文本字符串末尾的使用vba删除excel中的chr160字符,excel,vba,excel-2016,Excel,Vba,Excel 2016,在下面的代码中,我想删除文本字符串末尾的char160和34字符 For Column = 12 To 13 For i = 16 To last_row 'sString = ("=CODE(160)") 'Range(Cells(i, Column), Cells(i, Column)).Select 'Range(Cells(last_row + 1, Column), Cells(last_row + 1, Column)).Va
char160
和34
字符
For Column = 12 To 13
For i = 16 To last_row
'sString = ("=CODE(160)")
'Range(Cells(i, Column), Cells(i, Column)).Select
'Range(Cells(last_row + 1, Column), Cells(last_row + 1, Column)).Value = Replace(Range(Cells(i, Column), Cells(i, Column)).Value, sString, "", 1, -1)
Set current_cell = Range(Cells(i, Column), Cells(i, Column))
current_cell.Select
text_to_change = Range(Cells(i, Column), Cells(i, Column)).Value
Range(Cells(last_row + 1, Column), Cells(last_row + 1, Column)).Select
Selection.NumberFormat = "General"
With Range(Cells(last_row + 1, Column), Cells(last_row + 1, Column))
.Formula = "=SUBSTITUTE(" & text_to_change & ";CODE(160);" & Chr(34) & Chr(34) & ")"
.Value = .Value
End With
Next i
Next Column
我在这行遇到一个错误:
.Formula=“=SUBSTITUTE(&text_to_change&“code(160);”&Chr(34)&Chr(34)&”)”
错误消息表明:
运行时错误“1004”:应用程序定义的错误或对象定义的错误
您能帮我这里出了什么问题吗?您需要避开引号:
.Formula = "=SUBSTITUTE(""" & text_to_change & """;CODE(160);""" & Chr(34) & Chr(34) & """)"
为什么不使用:
.Replace Chr(160),“”,xlPart
?为什么不使用.Value=Replace(Replace(.Value,Chr(160),vbNullString),Chr(34),vbNullString)
,并跳过。公式
?(另外,chr(160)
是不间断的空格-您是否也想要Char(32)
,这是一个“正常”的空格?+1:这就是为什么“我的。公式=
不起作用”的步骤1应该始终是交换。公式=
用于调试。打印,并仔细阅读输出