2012-06-28 293 views
0
Sub PctTest() 
    Dim Third As Variant 
    Third = 1/3  
    MsgBox (Third) 
End Sub 

我如何獲得msgbox顯示變量「第三」爲33.33%?我知道如何格式化單元格,但我環顧四周,不明白如何格式化這樣的變量。由於在高級 - 湯米VBA變體MsgBox格式以百分比(%)

回答

0

您可以使用內置的:FormatPercent(1/3, 2)

+0

謝謝@peter!這很容易,但我不知何故在「F2」查找中錯過了它。太棒了!週末愉快! Tommy –

+0

如果你使用「Third = FormatPercent ...」或者Third = Format ...「,那麼你不能用這個數字來操作,換句話說,如果下一行你試圖做一些像」 1 + Third「你會得到一個錯誤,因爲VBA沒有把」Third「看作是一個數字。奇怪,但是是true –

+0

這就是正確的,'FormatPercent'返回一個字符串(它必須,有一個百分號結束!)如果你想把它作爲一個數字存儲爲'dblvar = 1/3 * 100',並且只有當你想要顯示/保存時纔將它格式化爲百分比 –

0

如何:

Dim Third As Variant 
    Third = Format(1/3, "##.00%") 
    MsgBox (Third) 
+0

謝謝Remou!那真的是我正在尋找的東西 - 我以前從未見過。週末愉快! - 湯米 –