在excel 2007 vba中应用用户定义的格式

时间:2013-12-30 23:13:04

标签: excel vba excel-vba

我使用的excel 2007格式为:#,##0.00,,,_);[Red](#,##0.00,,,);"-"

如果是可能的,我希望数字显示数十亿;如果是消极的,数十亿的,也可以是父母的;如果遗失,“ - ”。

它适用于excel 2007.但是当我尝试在vba中应用该格式时,它无法正常工作。

请使用以下数字作为示例:

  

-11467478
  224785.66
  -5579046
  1904770.9
  -14916968

我使用的数据类型是变体。我会用多久?

我的初始代码类似于:

......
with worksheet
'cells(1,1) would be any of the above numbers
  .Cells(1, 1).NumberFormat = "#,##0.00,,,_);[Red](#,##0.00,,,);" - ""
end with
.....

我收到了错误消息run-time error 13, type mismatch

我甚至试图分解格式。但它仍然无效。

我对vba很新。谁能帮助我? ......

2 个答案:

答案 0 :(得分:2)

这也可以,破折号是不需要转义的字符之一......

"#,##0.00,,,_);[Red](#,##0.00,,,);-"

答案 1 :(得分:1)

您需要使用双"作为减号。我测试了你的价值观,我认为它应该是:

.NumberFormat = "#,##0.00,,,_);[Red](#,##0.00,,,);""-"""

customNumberFormat