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

the*_*ist 1 excel vba excel-vba modulo excel-2016

我的问题与这篇文章有些相关.

但是,假设我想MOD在VBA中使用Excel的内置(模数)函数. 该网站建议使用Application.WorksheetFunction.[insert name of Excel function]将提供所需的效果.

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

事实上,当我只输入Application.WorksheetFunction.VBA时,会出现一个下拉菜单,提供可供选择的功能名称列表,但MOD此列表中未提供!

2个问题:

  1. 这里发生了什么?
  2. 如何MOD在VBA中实际使用Excel的内置函数?

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

QHa*_*arr 5

你使用原样,因为它是一个运算符(带整数).使用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 & ")")
Run Code Online (Sandbox Code Playgroud)

文档.大数量存在局限性.来自Microsoft的常见解决方法是:

=number-(INT(number/divisor)*divisor)
Run Code Online (Sandbox Code Playgroud)