同事们,下午好。在 Visual Basic 中编写宏时,我遇到了一个奇怪的 For 循环问题。
例如,我有这个代码:
Sub Test_for()
Dim cell As Range
Dim counter As Integer
Set cell = Range("A1")
'Первый цикл For
counter = 0
For i = 0 To 1 Step 0.1
cell.Offset(counter, 0).Value = i
counter = counter + 1
Next i
'Второй цикл For
counter = 0
For j = 0 To 2 Step 0.1
cell.Offset(counter, 1).Value = j
counter = counter + 1
Next j
'Третий цикл For
counter = 0
For k = 0.1 To 2.1 Step 0.1
cell.Offset(counter, 1).Value = k
counter = counter + 1
Next k
End Sub
所以对于第一个周期,我有一个从 0 到 1 形式的输出(一切都是正确的),但是!对于第二个循环,我的输出从 0 到 1.9(但应该最多为 2)。对于第三个循环,输出从 0.1 到 2(但应该高达 2.1)!
了解VB细微差别的同事,告诉我我做错了什么,抽什么手册。对我来说,这种循环行为是不可理解的。