2013-05-16 37 views
0

我有一個浮點值的變量即VBA小數點被自動丟棄

Dim H_reqquant As Double 'Its value is 10.5 

但是,當我在VBA得到這個值是這樣的:

H_reqquant = Worksheets("Data").Cells(3, 8).value 

這是轉換自10.5

有什麼建議嗎?

-Hansen

+0

你有沒有試過用'CDbl()'顯式轉換? –

+0

我試過了,但結果是一樣的。 現在我發現如果在單元格中放入10,5並獲得VBA代碼中的該值,那麼我得到10,5 – Hansen

+1

所以我想知道是否由於語言設置,因爲我必須啓用一組語言,例如 英語 丹麥語 – Hansen

回答

0

確定單元格(3,8)中的值是10.5而不是105,但格式化爲10.5?檢查配方欄以確保。

+0

嗯,我很確定。在發佈之前,我已經調試過它並驗證了單元格中的輸入值是否正確。 – Hansen

+0

您可以上傳電子表格嗎?我會看看。它聽起來很滑稽。 – steveo40

+0

你有電子郵件嗎?我可以將你作爲附件發送給你 – Hansen

0

您確定您指向正確的單元嗎?

嘗試Debug.Print工作表(「數據」)。細胞(3,8)。地址

爲了讓你覺得小區的位置包含10.5。

+0

是我試着調試它,它從10.5到105 – Hansen

+0

我能想到的唯一的事情就是你的語言環境設置爲以逗號解釋數字的句點。在英格蘭我們有1,234.56,但其他地區有1.234,56 – Bathsheba

+0

感謝您的快速反饋! 我已經通過將字符串中的點替換爲逗號,然後將其轉換爲雙精度並執行計算,然後以字符串的形式寫回到單元格來修復它。 – Hansen