使用Excel vba来自动计算某些单元格。 小数点后2位的单元格式被覆盖

我有格式为0.00%的单元格。 当用户input时,它的格式很好但是如果一个单元格是通过在vba中完成的计算来填充的,它不会限制到2个小数位,而是像33.3333333333那样。 有没有办法使它符合单元格的格式? 谢谢。 cgeddes

B5由首付变化改变

Case "$D$5" ' Downpayment Entered Me.Unprotect range("B5") = (range("D5").Value / range("D4").Value) * 100 Debug.Print "Percent " & range("B5").Value range("D6").Value = (range("D4").Value - range("D5").Value) If range("D21") <> 0 Then MsgBox "The Total Mortgaged Amount has changed, The Mortgage Payment Amount (Cell D21) is no longer valid. Please Re-calculate Mortgage with New Amount" End If 

B5上的格式是0.00 ## \%当用户input时显示为5.00%或10.00%。

嗯。 也许##意味着什么? 谢谢Tim今天再次帮助我。

正如我在我的评论中所说,如果你想改变数字格式,使用:

 range("B5").NumberFormat = "0.00\%" range("B5") = (range("D5").Value / range("D4").Value) * 100 

如果你想实际上围绕号码,使用

 range("B5") = Round((range("D5").Value / range("D4").Value) * 100,2) 

Round的参数为: Round(Number, [Decimal Places])