2016-11-03 79 views
1

在電子表格公式中,=VALUE("$100")將計算爲100的數值。然後嘗試通過WorksheetFunction對象訪問VBA中的此函數,但缺少該函數。Excel中缺少WorksheetFunction.value()

在VBA中,我嘗試了轉換函數Val("$100"),但是返回0.所以我怎樣才能通過VBA來實現這個功能呢?

+0

'在電子表格公式= VALUE(「100 $」)將評估到的100'數值 - 你肯定這個 ?它沒有評估到我的Excel中爲100。 http://imgur.com/a/cEb2k – newguy

+0

@newguy我不會但有趣的是,它非常樂意評價「100英鎊」和「100歐元」至100 – danl

+1

@danl是否將字符串傳遞給該函數或者您引用的是貨幣格式的單元格。因爲如果它是一個字符串,它將無法工作。它將與具有該值的單元格引用一起工作,但它只是格式化的。 – newguy

回答

0

Val()只有在字符串是數字時才真正有效恐怕 - 貨幣符號會導致問題。

如果你總是有串在同一個貨幣符號,它可能會使用類似

StringName = replace(StringName, "$", "") 

東西拿出$值得用「」代替它 - 否則,如果你的字符串並不總是會成爲這個預測的下面的問題可能會有所幫助:

How to find numbers from a string?