使用 VBA 将逗号小数转换为句点小数

Posted

技术标签:

【中文标题】使用 VBA 将逗号小数转换为句点小数【英文标题】:Convert comma decimals to period decimals with VBA 【发布时间】:2019-01-04 15:37:01 【问题描述】:

如标题所示,我希望使用 VBA 将逗号小数(法国加拿大系统)转换为句点小数。

除此之外,

    它必须转换第 3 列和第 4 列 这些列中的某些单元格是空的(我说的不是所有小数点以下的空单元格,而是介于两者之间的单元格) 小数是字符串 下图中的行数仅供参考。它们可能更多。 小数点也因工作表而异(银行对帐单到银行对帐单),所以我不想要只适用于这些数字的代码。 小数点分隔符为“,” 组分隔符是“”

最后,我想要的一些图片不完全是(请事先阅读以上内容):

从这里

到这里

【问题讨论】:

您能否展示一下您迄今为止在 VBA 中尝试过的内容以及您的代码中究竟有哪些内容不起作用? 【参考方案1】:
    按下“录制宏”按钮; 选择 3. 和 4. 列; 按Ctrl+H; 在Replace box的字段中写下你需要替换的内容; 替换; 停止录制宏; 查看记录的代码;

【讨论】:

可能是Ctrl+H @BrakNicku - true :) 在您提供的示例中,Vityata 给出的答案会起作用。该过程不仅可以清理混乱,而且您可以再次运行代码以便稍后再次执行此操作。更不用说修复的 vba 代码基础了,您可以根据自己的需要进行修改。如果有数据的原因或示例会使此方法无效,请将它们添加到您的问题示例中,以便我们可以解决它们。 @Vityata 我确实不明白你的解决方案,但现在我明白你的澄清了。我从没想过转换这些小数会这么简单。谢谢! @CLR 是的,你是对的。我不明白解决方案,但现在我明白了。谢谢

以上是关于使用 VBA 将逗号小数转换为句点小数的主要内容,如果未能解决你的问题,请参考以下文章

检测 VB.Net 中数字的文化,即小数点/千位分隔符的句点或逗号

在 Google 表格中用逗号替换数字小键盘产生的小数点

如何将任意小数位数的点转换为逗号

正则表达式将数字转换为逗号分隔的数字,可选两位小数

为啥 VBA 会自动将十进制更改为逗号?

将逗号小数分隔符转换为数据框中的点