Excel VBA Cell值传递给数组时舍入

时间:2013-01-14 18:00:16

标签: vba excel-vba excel

我希望这有一个简单的解决方案。我需要从工作表中获取值,执行计算并将它们插入到隐藏的工作表中(稍后将上载到数据库中)。我通常不用VBA编程,所以我不确定我做错了什么。我的问题是:当我将工作表中的数据复制到数组中时,当我指定long时,它们会像整数一样舍入。以下代码段将为您提供问题的概念。我是否错误地初始化了数组?

 Dim ThisWS As Worksheet
 Set ThisWS = Excel.ActiveWorkbook.Worksheets("BchSheet")
 Dim BTW() As Long                       'Beaker Tare Weight
 ReDim Preserve BTW(Samples)
 BTW(1) = ThisWS.Cells(18, 6).Value      'Value in cell is 98.7036
 MsgBox (ThisWS.Cells(18, 6).Value)      'Returns 98.7036
 MsgBox (BTW(1))                         'Returns 99

1 个答案:

答案 0 :(得分:7)

Long数据类型(如Integer)仅包含整数。

使用Double数据类型来存储小数,如果您正在使用需要定点的计算或者您不想处理浮点数,请使用Currency数据类型