2012-11-14 78 views
1

將文本轉換爲數字在VBA Excel 2007中

Worksheets("Data").Cells(9, 17) + 0#在VBA代碼轉換「6」(或存儲爲文本的任何號碼)自動多少?

如果不是,你知道有什麼方法可以做到這一點嗎?謝謝!

+0

據我所知,你的方法將導致存儲爲文本的雙重任何數量。您也可以省略#。 VBA還會將價值視爲一個數字,將其視爲一個雙倍數。 Dim x as double x = Worksheets(「Data」)。Cells(9,17)' –

回答

0

,就可以把字符串作爲Dboule數據類型,如果你需要在你的代碼中使用它:

Dim dbl As Double 
dbl = CDbl(ThisWorkbook.Worksheets("Data").cells(9, 17)) 
+0

由於VBA會隱式執行此操作,因此不需要Cdbl。 –

+0

夠公平 - 沒有意識到,謝謝你的高擡頭! –

0

嘗試Worksheets("Data").Cells(9,17).NumberFormat = "0"

+0

這不起作用。該值不會被NumberFormat改變。所以存儲爲文本的數字仍然是文本。 –

+0

這使我在測試電子表格中將單元格的格式從文本更改爲數字。從你對原文帖子的評論看來,你覺得他想把它當作雙倍。您只需將「0」改爲「0.00」即可將格式化爲雙數單元格。 – Zaider

+1

否... double是從Excel單元格獲取編號時在VBA中使用的默認數字類型。我所說的只是改變格式,不會改變'Cell.Value'返回的數據類型。 –