如何将函数的结果返回给Excel中的单元格?
假设我有一个函数附加到我的Excel工作表之一:
Public Function foo(bar As Integer) as integer foo = 42 End Function
我怎样才能得到foo
的结果返回到我的工作表上的单元格? 我试过"=foo(10)"
,但是它给我的是"#NAME?"
我也试过=[filename]!foo(10) and [sheetname]!foo(10)
,没有任何改变。
尝试按照这里的方向,以确保你正在做的一切,特别是在哪里把它。 ( Insert->Module
)
我可以确认打开VBA编辑器,使用Insert->Module
和下面的代码:
Function TimesTwo(Value As Integer) TimesTwo = Value * 2 End Function
在一张纸上放入"=TimesTwo(100)"
到一个单元给我200
。
把函数放在一个新的独立模块(Insert-> Module)中,然后在单元格公式中使用= foo(10)来调用它。
你把“富”function放在哪里? 我不知道为什么,但每当我看到这个,解决scheme是logging一个酒窝macros,并让Excel为该macros的代码创build一个新的模块。 然后,把你的“富”function,在该模块。 当我按照这个程序进行操作时,你的代码就能正常工作,但是如果我把它放在附加到“ThisWorkbook”的代码模块中,我会得到你报告的#NAME结果。
包括这样的文件名称
=PERSONAL.XLS!foo(10)