0
我真的很困惑這個。我知道這可能很簡單,但我似乎無法弄清楚。我很想創造一個價格計算器,這是宏觀中最重要的部分。值正在返回不正確
Dim z As Double
For z = 7 To 8 Step 1
If ActiveSheet.Cells(z, 10).Value = "" Then
'''Dim Ref1 As Double
'''Set Ref1 = Sheets("Ref").Cells(o, 4).Value
Dim o As Double
For o = 5 To 150 Step 1
If ActiveSheet.Cells(z, 20).Value = Sheets("Ref").Cells(o, 3).Value Then
MsgBox "Found: " & Sheets("Ref").Cells(o, 4).Value
ActiveSheet.Cells(z, 10).Value = Sheets("Ref").Cells(o, 4).Value
Exit Sub
Else
End If
Next o
Else
End If
Next z
因此,MsgBox返回我正在尋找的值,但它四捨五入到只有4個小數位。我需要更多,但這不是一個問題,因爲該單元格然後填充零,而不是在MsgBox中的值。我不明白爲什麼,考慮到他們都是:
Sheets("Ref").Cells(o, 4).Value
你可以看到我開始創建一個Double變量的值(Ref1)。我認爲可能'.Value'在填充單元格時四捨五入爲整數,但在嘗試使用它時遇到了400錯誤。
任何幫助將不勝感激!
您是否檢查過您要填充的單元格格式,以確保它未設置爲顯示0小數? – sous2817
是的,我確實試圖用VBA重新格式化它,然後它運行for循環: 'ActiveSheet.Range(「J7:J300」)。NumberFormat =「$#,## 0.0000000000」 ' ActiveSheet.Range(「J7:J300」)。NumberFormat =「0.0000000000」 它只在零值上加零。 (我正在嘗試兩種不同的格式) – theMagicOne
不相關,但'o'應該是'長',而不是'雙'。 – Comintern