我有一个 Access 数据库,其中有一些数据通过 vba 代码转储到 Excel 工作簿中。有些值有一个很长的小数,我想四舍五入到最接近的十分之一。如果它是一个整数,我不希望将值四舍五入到第十位(即,我不希望将 45 四舍五入为 45.0),所以我使用以下代码:
If Fix(rstTmpRegularAndOvertimeHours!regularhours) = rstTmpRegularAndOvertimeHours!regularhours Then
objWS.cells(intRowCount, 6).Value = rstTmpRegularAndOvertimeHours!regularhours
Else
objWS.cells(intRowCount, 6).Value = Round(rstTmpRegularAndOvertimeHours!regularhours, 1)
End If
舍入的值显示在单元格中,但输入的实际值是未舍入的值。例如,值为 4.19999980926513,运行此代码时,单元格中显示值为 4.2,但如果单击该单元格,您会看到实际值为 4.19999980926513。当以下代码行运行时:
With objWS.PageSetup
.Orientation = 2
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
单元格展开以显示整个值并再次显示 4.19999980926513。我在其他地方使用了类似的代码,并且正在将正确的舍入值插入到电子表格中。有任何想法吗?