Re: [VBA ] 請問一個變數宣告的問題

看板Visual_Basic作者 (kkk)時間18年前 (2007/03/05 23:32), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
我不知道什麼原因ㄟ,不過我覺得跑迴圈 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
感謝您的回答~後來我用"currency"宣告,就可以跑出來了^^"
03/08 00:05, 1F

03/08 00:07, , 2F
我也不知道為什麼可以跑出來..但跑出來的格式會多出一個"$"
03/08 00:07, 2F
文章代碼(AID): #15x3VzWK (Visual_Basic)
文章代碼(AID): #15x3VzWK (Visual_Basic)