【发布时间】:2013-12-23 20:26:33
【问题描述】:
我有一个用户定义的函数,它接受一个参数,该参数具有关联的内置函数enum:
Public Function bgrcolor_cells(rng As Range, xlcl As Long) As Integer
我想在单元格中写一个这样的公式
=bgrcolor_cells($A2:$B2,vbRed)
而不是
=bgrcolor_cells($A2:$B2,255)
这可能吗?怎么样?
PS:我找到了How can I use enum identifiers in Excel UDF,但它指的是用户定义的枚举。我不知道我想使用内置 Enum 是否会有所不同。
编辑 1 也许对定义了内置枚举的代码进行一些自动阅读可能有助于定义 Jean-François Corbett 的类或命名范围,这样就可以避免从头开始输入。我见过这样的自动解析,可能的指针是:
http://www.cpearson.com/excel/EnumNameList.aspx
编辑 2(根据 this) 已经发布了一条评论,指出“内置枚举和用户定义的枚举没有区别”,这是一个骗局。我认为不是,如果引用的评论是正确的,那么它可能是当前特定和不同问题的答案的一部分(也许值得发布)。
【问题讨论】:
-
@pnuts - 是的,这行得通。但是我将无法利用内置函数,我必须为 Enum 中的每个可用项目(或至少我预见到可能使用的项目)定义一个命名范围。这很不方便。
-
How can I use enum identifiers in Excel UDF 的可能副本。 (我知道你已经看过了,但实际上内置和用户定义的枚举没有区别。)
-
@Jean-FrançoisCorbett - 我认为这不是重复的,但这值得一个具体的答案(这就是为什么我不确定,这就是为什么问)。如果答案类似于“内置枚举和用户定义的枚举完全相同,为此目的”,那么我想最好在此处发布该答案以及指向另一个线程的链接。我猜“这个问题在这里可能已经有了答案”和“可能重复”可能会误导其他读者发现这个线程。我实际上已经看到了许多其他类似的案例(这误导了我自己)。
-
@sancho.s:这只是问题被标记为重复时的默认文本。我没写。之后我只在括号中写了这句话。但我认为这是重复的,因为完全相同的答案对这两个问题同样有效。
-
stackoverflow.com/questions/10036711/… ...但不要那样做。
标签: excel enums user-defined-functions vba