如何在 VBA 中使用 Excel 的内置模函数 (MOD)?
How do I use Excel's built-in modulo function (MOD) in VBA?
我的问题与this post有关。
但是,假设我想在 VBA 中使用 Excel 的内置 MOD
(取模)函数。
This site 建议使用 Application.WorksheetFunction.[insert name of Excel function]
将提供所需的效果。
但是,Application.WorksheetFunction.MOD
不起作用。
事实上,当我简单地在 VBA 中输入 Application.WorksheetFunction.
时,会出现一个下拉菜单,提供可供选择的函数名称列表,但此列表中未提供 MOD
!
2 个问题:
- 这是怎么回事?
- 如何在 VBA 中实际使用 Excel 的内置
MOD
函数?
注意:我开始走这条路 b/c 我正在尝试使用 VBA 的 [= 使 1.7 Mod 0.5
等于 0.2
21=] 函数,但它在结果 Excel 单元格中生成 #VALUE!
我将我的 VBA 函数应用于。但是,如果我直接在 Excel 中输入 MOD(1.7,0.5)
,我会得到正确的答案(即 0.2
)
您按原样使用,因为它是一个运算符(带有整数)。如果您想使用双打等,请使用 evaluate
,例如
例如
Debug.Print 2 Mod 12
Debug.Print Evaluate("Mod(1.7,0.5)")
Dim x As Double, y As Double
x = 1.7
y = 0.5
Debug.Print Evaluate("Mod(" & x & "," & y & ")")
见 documentation. There are limitations 大数字。 Microsoft 的一个常见解决方法是:
=number-(INT(number/divisor)*divisor)
我的问题与this post有关。
但是,假设我想在 VBA 中使用 Excel 的内置 MOD
(取模)函数。
This site 建议使用 Application.WorksheetFunction.[insert name of Excel function]
将提供所需的效果。
但是,Application.WorksheetFunction.MOD
不起作用。
事实上,当我简单地在 VBA 中输入 Application.WorksheetFunction.
时,会出现一个下拉菜单,提供可供选择的函数名称列表,但此列表中未提供 MOD
!
2 个问题:
- 这是怎么回事?
- 如何在 VBA 中实际使用 Excel 的内置
MOD
函数?
注意:我开始走这条路 b/c 我正在尝试使用 VBA 的 [= 使 1.7 Mod 0.5
等于 0.2
21=] 函数,但它在结果 Excel 单元格中生成 #VALUE!
我将我的 VBA 函数应用于。但是,如果我直接在 Excel 中输入 MOD(1.7,0.5)
,我会得到正确的答案(即 0.2
)
您按原样使用,因为它是一个运算符(带有整数)。如果您想使用双打等,请使用 evaluate
,例如
例如
Debug.Print 2 Mod 12
Debug.Print Evaluate("Mod(1.7,0.5)")
Dim x As Double, y As Double
x = 1.7
y = 0.5
Debug.Print Evaluate("Mod(" & x & "," & y & ")")
见 documentation. There are limitations 大数字。 Microsoft 的一个常见解决方法是:
=number-(INT(number/divisor)*divisor)