excel - 如何在 VBA 中使用 Excel 的内置模函数 (MOD)?

标签 excel vba modulo excel-2016

我的问题与this post有些相关.

但是,假设我想在 VBA 中使用 Excel 的内置 MOD(求模)函数。 This site建议使用 Application.WorksheetFunction.[插入 Excel 函数的名称] 将提供所需的效果。

但是,Application.WorksheetFunction.MOD 不起作用。

事实上,当我简单地在 VBA 中键入 Application.WorksheetFunction. 时,会出现一个下拉菜单,提供可供选择的函数名称列表,但未提供 MOD在此列表中!

2 个问题:

  1. 这是怎么回事?
  2. 如何在 VBA 中实际使用 Excel 的内置 MOD 函数?

注意:我沿着这条路开始,b/c 我试图使用 VBA 的 Mod 使 1.7 Mod 0.5 等于 0.2 code> 函数,但它在我应用 VBA 函数的结果 Excel 单元格中生成 #VALUE!。但是,如果我直接在 Excel 中输入 MOD(1.7,0.5),我会得到正确的答案(即 0.2)

最佳答案

您按原样使用,因为它是一个运算符(带有整数)。如果您想使用 double 等,请使用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 。有limitations有大量的。 Microsoft 提供的一种常见解决方法是:

=number-(INT(number/divisor)*divisor)

关于excel - 如何在 VBA 中使用 Excel 的内置模函数 (MOD)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53660639/

相关文章:

c# - 如何使用 C# Windows 窗体读取 Excel 中的多个单元格

excel - 选择或复制三个不相邻的单元格 3

excel - 使用 Excel 宏从 SAP 提取数据

excel - 数据硝基图表

vba、getElementsByClassName、HTMLSource的双引号不见了

excel - 通过电子邮件搜索将 Excel 2003 中的数据行复制并粘贴到不同的工作表

vba - 使用 VBA 代码将 VBA 代码从一个工作表复制到另一个工作表

javascript - 模通过检测

python - 在命令行上打印 python 模数运算符

python - 将 python 列表增加 mod x_i 的量,其中 x_i 取决于位置