VBA格式编号|如何使用VBA NumberFormat格式化数字?

VBA中的Format函数用于将给定值格式化为所需格式,该函数基本上有两个强制性参数,一个是输入,它以字符串形式使用,第二个参数是我们要使用的格式类型例如,如果我们使用格式(.99,“百分比”),则结果将为99%。

VBA Excel中的格式编号

VBA在常规的excel功能方面遥遥领先。 VBA具有许多自己的内置函数,就像我们在工作表中拥有500多个函数一样。 VBA中的此类公式之一是 “格式编号”。

是的,您没听错,我们有一个名为 “ FormatNumber” 在VBA中。在本文中,我们将专门介绍此功能。

如何使用VBA NumberFormat格式化数字?

就像函数名称本身所说的那样,它将根据用户给出的格式化指令来格式化给定的数字。

数字格式化只不过是添加小数点,在括号中包含负数,显示十进制值的前导零,等等。使用VBA格式编号 函数,我们可以将格式样式应用于我们处理的数字。下面是该函数的语法

  • 表达: 这不过是我们需要格式化的数字。
  • 小数后的数字位数: 您希望数字右边的小数位数为几位数。
  • 包括前导数字: 前导数字就是数字开始前的数字。这适用于小于1但大于-1的值。
    • 如果要在十进制值之前显示零,则可以将参数传递为TRUE或-1,结果将是。 “0.55”
    • 如果您不想在小数点前显示零,则可以将参数传递为FALSE或0,结果将是 “.55”
    • 默认值是-2,即区域计算机设置。
  • 使用父母的负数: 如果希望在括号中显示负数,则可以将参数传递为TRUE或-1,结果为。 “(255)”
    • 如果希望在不带括号的情况下显示负数,则可以将参数传递为FALSE或0,结果将是。 “-255”
  • 组数字: 是否要添加千位分隔符。如果是,则为TRUE或-1为自变量,否则为FALSE或0为自变量。默认情况下,该值为-2,即等于计算机区域设置。

Excel VBA FormatNumber函数的示例

我们将看到Excel VBA格式编号函数的实际示例。我们将分别执行每个参数。

为此,请创建宏名称,并将其中一个变量声明为字符串。之所以需要将变量声明为字符串是因为VBA函数FormatNumber给出的结果仅是字符串。

您可以在此处下载此VBA格式编号功能模板– VBA格式编号功能模板

代码:

 Sub Format_Number_Example1()Dim MyNum作为字符串结尾Sub 

Example#1 –在数字前面加上小数点

步骤1 - 假设我们一直在使用数字25000,我们需要对其进行格式化,并在数字右侧添加小数点。为我们的变量分配一个值。

代码:

 Sub Format_Number_Example1()Dim MyNum As String MyNum = FormatNumber(End Sub 

第2步 -首先是表达式,即我们需要格式化的数字是多少,所以我们的数字是25000。

代码:

 Sub Format_Number_Example1()昏暗MyNum作为字符串MyNum = FormatNumber(25000,End Sub 

步骤#3 –接下来是我们需要添加几位数字,即2位数字。

代码:

 Sub Format_Number_Example1()昏暗MyNum作为字符串MyNum = FormatNumber(25000,2)End Sub 

第4步 -在VBA消息框中显示变量的值。

代码:

 Sub Format_Number_Example1()Dim MyNum As String MyNum = FormatNumber(25000,2)MsgBox MyNum End Sub 

步骤5 –这个宏的结果是这样的。

我们可以在数字右边看到两个小数。

例2 –组号,即千位分隔符

对于相同的数字,我们可以添加或删除一千个分隔符。如果要显示一千个分隔符,则需要选择 真实 对于最后一个论点。

代码:

 Sub Format_Number_Example1()Dim MyNum As String MyNum = FormatNumber(25000,2,,,vbTrue)MsgBox MyNum End Sub 

这样会抛出这样的结果。

现在,如果选择 vbFalse 那么我们将不会获得千位分隔符。

代码:

 Sub Format_Number_Example1()Dim MyNum As String MyNum = FormatNumber(25000,2,,,vbFalse)MsgBox MyNum End Sub 

这段代码的结果是这样的。

如果我选择 vbUseDefault 我们根据系统设置获得结果。以下是结果。

因此,我的系统设置默认情况下具有一千个分隔符。

Example#3 –括号内包含负数

如果我们有一个负数,我们可以在括号中显示负数。我们需要选择 真实 在下面 “使用父母的负数”。

代码:

 Sub Format_Number_Example1()Dim MyNum As String MyNum = FormatNumber(-25000,2,,vbTrue)MsgBox MyNum End Sub 

现在的结果是这样的。

如果我们选择 vbFalse 我们将得到一个带有负号的负数。

代码:

 Sub Format_Number_Example1()Dim MyNum As String MyNum = FormatNumber(-25000,2,,vbFalse)MsgBox MyNum End Sub 

现在的结果是这样的。