VBA 中无法识别国际键盘逗号

  • 本文关键字:键盘 识别 VBA vba excel
  • 更新时间 :
  • 英文 :


我正在尝试替换逗号",",这与英文键盘中的标准逗号","不同。我相信另一个逗号来自中文键盘。因此,当将其粘贴到 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