什么是.NumberFormat选项在Excel VBA中?

你可以让我知道Excel VBA中的.NumberFormat格式选项是什么? 如您所知,Excel 2010支持以下types:

在这里输入图像说明

我知道我们可以设置例如文本types为:

 .NumberFormat ="@" 

或数字:

 .NumberFormat = "0.00000" 

你可以让我知道什么是VBAtypes的其他选项?

请注意,这是在Excel 2011 for Mac上完成的,但应该与Windows相同

macros:

 Sub numberformats() Dim rng As Range Set rng = Range("A24:A35") For Each c In rng Debug.Print c.NumberFormat Next c End Sub 

结果:

 General General Number 0 Currency $#,##0.00;[Red]$#,##0.00 Accounting _($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_) Date m/d/yy Time [$-F400]h:mm:ss am/pm Percentage 0.00% Fraction # ?/? Scientific 0.00E+00 Text @ Special ;; Custom #,##0_);[Red](#,##0) 

(我只是select了一个随机的条目进行定制)

感谢这个问题(和答案),我发现了一个简单的方法来获取确切的NumberFormatstring,几乎可以提供任何Excel格式的格式。


如何获取任何Excel数字格式的数字格式string


步骤1 :在用户界面中,将单元格设置为要使用的NumberFormat。

我手动将单元格格式化为中国(中国)货币

在我的例子中,我从“账号格式”combobox中的选项中select中国(中国)货币。

步骤2 :展开“数字格式”下拉菜单并select“更多数字格式…”。

打开“数字格式”下拉菜单

步骤3 :在数字选项卡的类别中,单击“自定义”。

点击自定义

“示例”部分显示了我申请的中国(中国)货币格式。

“types”input框包含可以使用编程方式的NumberFormatstring。

那么在这个例子中,我的中国货币单元的NumberFormat如下:

 _ [$¥-804]* #,##0.00_ ;_ [$¥-804]* -#,##0.00_ ;_ [$¥-804]* "-"??_ ;_ @_ 

如果你为每个你想要的NumberFormat做这些步骤,那么这个世界就是你的。

我希望这有帮助。

在Excel中,您可以将Range.NumberFormat设置为任何string,如在“自定义”格式select中所find的那样。 基本上,你有两个select:

  1. 一般没有特定的格式。
  2. 一个自定义的格式化string,如“$#,## 0”,用于指定您正在使用的格式。