作者icene (kkk)
看板Visual_Basic
标题Re: [VBA ] 请问一个变数宣告的问题
时间Mon Mar 5 23:32:12 2007
我不知道什麽原因ㄟ,不过我觉得跑回圈 step最好是整数比较好,所以
这样改就会跑到4了,你的变数还是可以设Double
但是我建议是以後回圈的i还是社Integer or Long比较好
For i = Cint(i1*100) To Cint(i2*100) Step Cint(i3*100)
: For j = Cint(j1*100) To Cint(j2*100) Step Cint(j3*100)
: For k = Cint(k1*100) To Cint(k2*100) Step Cint(k3*100)
: Worksheets("sheet1").Cells(1, 1).Value = i/100
: Worksheets("sheet1").Cells(1, 2).Value = j/100
: Worksheets("sheet1").Cells(1, 3).Value = k/100
: Next k
: Next j
: Next i
※ 引述《LaDSi (jeffsb)》之铭言:
: ↓以下是新手小弟写的小程式↓
: --------------------------------
: Sub test()
: Dim i As Double, j As Double, k As Double
: Dim i1 As Double, i2 As Double, i3 As Double, j1 As Double, j2 As Double,
: j3 As Double, k1 As Double, k2 As Double, k3 As Double
: Worksheets("sheet1").Activate
: i1 = 3
: i2 = 4
: i3 = 0.02
: j1 = 8
: j2 = 9
: j3 = 0.5
: k1 = 1.5
: k2 = 3
: k3 = 0.5
: For i = i1 To i2 Step i3
: For j = j1 To j2 Step j3
: For k = k1 To k2 Step k3
: Worksheets("sheet1").Cells(1, 1).Value = i
: Worksheets("sheet1").Cells(1, 2).Value = j
: Worksheets("sheet1").Cells(1, 3).Value = k
: Next k
: Next j
: Next i
: End Sub
: --------------------------------
: 我的问题是,我跑出来的结果一直卡在储存格A1的值竟然是3.98而不是4?
: 所以请问各位先进这个问题是错在哪?并请问该怎麽改呢?
: 此外,变数宣告我也曾经用过"single"可是储存格A1的值更怪变成了3.99999
: 请问这是什麽原因呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.216.102.180
※ 编辑: icene 来自: 61.216.102.180 (03/05 23:36)
1F:推 LaDSi:感谢您的回答~後来我用"currency"宣告,就可以跑出来了^^" 03/08 00:05
2F:→ LaDSi:我也不知道为什麽可以跑出来..但跑出来的格式会多出一个"$" 03/08 00:07