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

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

如果是正式的,我想要数字显示在十亿; 如果是负数,则在数十亿和在浑浊中; 如果缺less“ – ”。

它与Excel 2007工作正常。但是,当我试图应用在VBA格式,它没有工作。

请以下面的数字为例:

-11467478
224785.66
-5579046
1904770.9
-14916968

我使用的数据types是变体。 我应该用久吗?

我最初的代码是这样的:

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

我得到了erros消息run-time error 13, type mismatch

我甚至试图分解格式。 但它仍然没有工作。

我很新vba。 任何人都可以帮我吗? ……

这也将工作,破折号是不需要逃脱的angular色之一…

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

你需要使用双重减号,我testing了你的值,我认为它应该是:

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

customNumberFormat