Re: [VBA ] 請問一個變數宣告的問題
我不知道什麼原因ㄟ,不過我覺得跑迴圈 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)
推
03/08 00:05, , 1F
03/08 00:05, 1F
→
03/08 00:07, , 2F
03/08 00:07, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
7
15
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章
33
68