excel vba异常(用于循环结果)

时间:2014-03-31 09:28:47

标签: excel vba excel-vba

很抱歉没有提供更详细的标题,但这是因为这个特殊情况。我的谷歌搜索没有给我任何类似的主题。

以下简单代码应该在A列中给出0.1到10之间的一系列数字,步骤0.1(我希望至少是这样):

Cells(1, 1) = 0.1
For i = 2 To 100
Cells(i, 1) = Cells(i - 1, 1) + 0.1
Next i

直到5.9它运作良好,但之后结果不如预期:

而不是6我得到5,99999999999999

而不是6.1我得到6,09999999999999

而不是6.2我得到6,29999999999999

...

有人可以解释代码有什么问题或为什么我得到这个结果?

谢谢!

1 个答案:

答案 0 :(得分:1)

或者只是这个?

Sub Sample()
    Dim i As Long

    For i = 1 To 100
        '~~> Change Sheet1 to respective sheet
        ThisWorkbook.Sheets("Sheet1").Cells(i, 1) = i * 0.1
    Next i
End Sub

或者像这样

Sub Sample()
    '~~> Change Sheet1 to respective sheet
    With ThisWorkbook.Sheets("Sheet1").Range("A1:A100")
        .Formula = "=Row()*.1"
        .Value = .Value
    End With
End Sub