我正在尝试替换与英文键盘中标准逗号“”不同的逗号“,”。我相信另一个逗号来自中文键盘。因此,将其粘贴到VBA中时,只会将其识别为“?”。
如果我使用excel查找和替换,它将起作用。但是将其记录为宏将不会记录该效果,因为记录宏会将其重新协调为标准逗号。
有什么办法解决吗?谢谢!
答案 0 :(得分:2)
由于您没有代码来显示您尝试过的内容,因此我无法为您进行测试。
但是要回答您的问题,一个选择是创建一个引用Unicode字符并以这种方式替换它们的vba脚本。
,= U + FF0C:完整逗号
,= U + 002C:COMMA {十进制分隔符}
答案 1 :(得分:2)
标准逗号是ASCII 44 dec / 2C十六进制。 “ combining逗号”是Unicode 65292 dec / U0326十六进制。
尝试
'for a single cell or string var
.cells(2, "A") = replace(.cells(2, "A").value2, chrw(65292), chr(44))
'for worksheet wide replacement
with worksheets("sheet1")
.cells.replace what:=chrw(65292), replacement:=chr(44), lookat:=xlpart
end with