我正在尝试替换逗号",",这与英文键盘中的标准逗号","不同。我相信另一个逗号来自中文键盘。因此,当将其粘贴到 VBA 中时,它只会将其重新识别为"?"。
如果我使用 excel 查找和替换,它可以工作。但是将其录制为宏不会记录该效果,因为记录宏将其重新协调为标准逗号。
有什么办法吗?谢谢!
由于您没有代码来显示您尝试过的内容,因此我无法为您进行测试。
但是要回答您的问题,一种选择是创建一个引用 Unicode 字符并以这种方式替换它们的 vba 脚本。
,= U+FF0C : 全角逗号
, = U+002C : 逗号 {小数分隔符}
标准逗号是 ASCII 44 dec/2C 十六进制。"组合逗号"是 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