2011-09-01 104 views
2

我有價格欄,其中價格以3位小數和4位小數位顯示,例如123.456或123.4357。 因此,無論小數位數是多少,我都希望該值只有兩位小數。 所以我選擇的列和在VBA中我使用Selection.NumberFormat =「0.00」 這是由於我的四捨五入的值,即當我格式123.456和123.4357爲0.00我得到123.46和123.44但我希望它是123.46和123.43。Excel VBA停止自動舍入

所以只是想知道有沒有一種方法可以修剪值而不是四捨五入。 請給我一些示例。

預先感謝您。

+0

你最後一句,第一段說:「當我格式化123.456和123.4357 0.00我得到123.46和123.44,但我希望它是123.46和123.43。」應該以「我希望它是* 123.45 *和123.43」結束?這將符合您對修剪功能的要求而不是四捨五入。 – rajah9

回答

4

Excel有一個內置函數trunc,它應該爲你做竅門。

這就是我放在a1:b2中。

123.456 =trunc(A1,2) 
123.4357 =trunc(A2,2) 

這將顯示

123.456 123.45 
123.4357 123.43 
+0

@ rajah9 ....謝謝你 –

1

你可以把結果作爲一個字符串,並提取您需要按照字符數:「」

dim a as double 暗淡S作爲字符串 a = 123.4357 S = MID(一,1,FIND(,一) )& MID(a,FIND(「。」,a)+1,2)

+0

@ joshua9k .....謝謝 –

1

我不相信有一個內置的蒙版將捨去而不捨入,你可以使用另一列包含=TRUNC(A1, 2)