假设我有一个功能,连接到我的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)
没有变化。
假设我有一个功能,连接到我的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)
没有变化。
请按照指示here来尝试确保您正确地做了一切准备,特别是关于放在哪里。 (Insert->Module
)
我可以证实,开放VBA编辑器,使用Insert->Module
,和下面的代码:
Function TimesTwo(Value As Integer)
TimesTwo = Value * 2
End Function
,并在一张纸上把"=TimesTwo(100)"
进入细胞给我200
。
你把“foo”函数放在哪里?我不知道为什么,但每当我看到这个,解决方案是记录一个酒窝宏,并让Excel为该宏的代码创建一个新模块。然后,将“foo”函数放入该模块中。我遵循这个过程时,您的代码会工作,但如果我将它放在附加到“ThisWorkbook”的代码模块中,我会得到您报告的#NAME结果。
将它移动到一个单独的模块确实解决了问题。 – BIBD 2009-02-17 22:49:21