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

Dan*_*tts 1 excel vba excel-vba

我希望这有一个简单的解决方案.我需要从工作表中获取值,执行计算并将它们插入到隐藏的工作表中(稍后将上载到数据库中).我通常不用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
Run Code Online (Sandbox Code Playgroud)

Lit*_*les 7

Long数据类型一样Integer,仅持有整数.

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