在excel vba中小数点被忽略

我有一个在Excel中运行的macros,它将一个数字从一个表格复制到另一个表格

首先,我将所有相关的数字存储在一个string数组va() ,并将数组值赋给新的表单。

ActiveCell.Offset(0, 5).Value = va(i, 5)

当数字是-0.522004时,我得到正确的结果在新的表格中,但是当数字是-1,175378我得到-1175378,0000作为excel表格中的输出。

请注意,我使用“,”作为小数点分隔符和“。” 作为千分隔符。

我也试图把msgbox va(i,5) ,它显示-1,175378作为输出,但是当代码完成时,我得到十进制忽略的值。

假设你的区域设置匹配string数据(即逗号是小数点分隔符),你可以执行一个明确的强制:

 ActiveCell.Offset(0, 5).Value = CDbl(va(i, 5))