Excel 2010附带一些在其名称中包含句点的函数。 例如STDEV.SPERCENTILE.EXC

是否可以使用VBA等名称为PERCENTILE.CUSTOM为我自己的函数指定名称?

例如,我想使用公式=NAME.SUFFIX()来引用以下函数

Option Explicit

Function NAMEdotSUFFIX() As Variant

    NAMEdotSUFFIX = 42

End Function

===============>>#1 票数:3

正如@SiddharthRout已经建议的那样,在声明函数名时,外部库比VBA具有更少的限制,因此外部名称允许使用句点。

尽管MSDN文档,有可能在VBA的标识符,包括UDF的使用一些特殊字符。 特殊字符甚至可以是标识符中的第一个/唯一字符。 根据VBA项目和VBE的代码页,特殊字符的可用性会有所不同。

这是一个完全有效的VBA功能:

Public Function Foo·Bar()
  Foo·Bar = 5
End Function

并且可以在Excel公式中使用:

=Foo·Bar()
5

同样,这种宝石的功能的使用作为函数名非打破空间:

Public Function  ()
    = 6
End Function

但是,虽然使用NBSP的函数是有效的,但遗憾的是,它不能在Excel公式中使用。

可以使用:

Public Function ·()
  · = 5
End Function

奖金黑客

有人忘了告诉Enum团队标识符规则。 虽然Enums不能在Excel公式中使用,但您可以使用除方括号的回车符或方括号之外的任何字符作为枚举名称或成员。

这是完全有效的VBA:

Enum [Foo : Bar = 5 : End Enum]
  [.B!a r"] = 6
End Enum

VBE漂亮的打印机把它变成了这个无法解决的混乱:

Enum Foo : Bar = 5 : End Enum
  [.B!a r"] = 6
End Enum

===============>>#2 票数:0 已采纳

VBA是不可能的。 这篇MSDN文章展示了如何在VBA中定义一个函数,具体来说这篇文章列出了元素名称的规则。

  ask by JustinJDavies translate from so

未解决问题?本站智能推荐:

1回复

使用VBA for Excel在UDF中输入的名称无效

我正在制作一个简单的UDF,用于检查给定国家/地区是否是OECD成员。 我有两个输入: 包含国家/地区名称的Excel单元格 输入包含包含所有OECD国家的列的第一个单元格。 该功能通过循环比较单元格Candidate和countries列的内容。 如果候选人名称与
1回复

一致地在VBA UDF中返回整个数组?

我编写了以下简单的VBA函数,以一定的间隔计算两个量之间的线性级数,并将该级数作为数组返回: 不幸的是,实际输出到工作表的内容完全取决于调用上述公式的单元格数量。 (这意味着用户错误地使用该功能变得很容易笑!) 如何在所有情况下确保将整个数组输出到工作表? 编辑:更确切地说
4回复

Excel VBA中的函数重载和UDF

我正在使用Excel VBA来编写UDF。 我想用几个不同的版本重载我自己的UDF,以便不同的参数将调用不同的函数。 由于VBA似乎不支持这一点,任何人都可以建议一种实现同一目标的良好,非凌乱的方式吗? 我应该使用可选参数还是有更好的方法?
2回复

编辑VBA UDF以忽略括号中的单词,同时将括号中的数字求和

我有一个UDF,它将在给定单元格中查找括号内的数字,然后将给定单元格中括号内的所有数字求和,它在90%的时间内工作良好,但是当我在括号内的内容不是数字时,即一个单词或短语,它将返回#VALUE! 我正在尝试解决此问题,以便它可以忽略括号内的单词等。 同样由于某种原因,有一个“。” 括号后的
2回复

UDF中缺少ParamArray

我试图确定何时在没有提供ParamArray参数的情况下在工作表上使用了使用ParamArray的用户定义函数(UDF)。 我已经尝试过IsEmpty,IsArray,IsError,什么都没有比较,零长度字符串比较等等。 我知道paramarray始终是byVal,而variant
1回复

UDF无法在Excel 2010中识别

我在合并Excel中的用户定义函数时遇到问题。 由于某些原因,无法识别该功能。 (简化的)代码如下: 当我在单元格中使用该函数时,它返回#NAME? 错误。 当我开始在excel单元格中输入“ = du”时,确实很奇怪,但确实找到了该函数。 当我使用excel的错误
1回复

如何调用返回另一个UDF中的数组的UDF?

我在弄清楚如何从另一个UDF返回UDF中的数组时遇到了一些麻烦。 这里的是一个简单的指数移动平均UDF,我试图将数组返回到另一个UDF,但是我遇到了#value错误。 我觉得有一个简单的解决方案,我没有看到。 非常感谢所有帮助。
2回复

Excel-vba:使用用户定义的函数(UDF)获取单元格公式中的选定单元格

我尝试了一个显而易见的代码,但是它不起作用。 输出始终是带有公式的单元格的值(或多或少的ShiftRow和ShiftColumn),即使在我选择其他单元格并手动重新计算整个工作表之后也是如此。 我做错了什么?
1回复

VBA UDF Excel 2010 #VALUE

我已经阅读了有关UDF #VALUE错误的线程,似乎我对VBA的了解不足以使用它们,或者我遇到的问题不一样。 无论哪种方式,我都试图创建一个UDF以根据我创建的公式以YY:MM格式计算年龄中的月数。 在Excel 2010中实施时,以上代码返回#VALUE错误。 对于我犯了什
2回复

如何使用产品公式聚合excel UDF中的返回

我试图将以下公式放入UDF中,以便在汇总月度回报时获得累积回报。 在excel中,必须将公式识别为数组,因此当我在其中键入时,按Ctrl + Shift + Enter以获得公式周围的{}括号。 有谁知道如何做到这一点? 我希望能够只输入returns_calc()并选择适合下