Excel:使用工作表作为函数?

我有一个Excel工作表,需要两个input,并生成一个输出。

我现在可以打开工作表,在单元格A1和A2中input两个,结果显示在A3中。

有没有办法,我可以把它做成一个函数或子程序,这样我可以在另一个工作表中使用它来填写一个值表?

数据表可以为你工作,但是你不能从一个不同的工作表引用一个单元格。 至less,对于Excel 2003来说,您可以在2007或2010年试用它,看看它是否可行。


其他那个:

是的,你可以做一个子程序。
你不能做一个工作表function,因为他们不允许改变工作表。

在该工作表上,创build一个函数:

public function GetWhatever(byval p1 as variant, byval p2 as variant) as variant 'Make sure you're in AutoCalculation mode, otherwise use me.calculate me.range("A1").value = p1 me.range("A2").value = p2 GetWhatever = me.range("A3").value end function 

然后您可以从第二个工作表上的另一个过程重复调用此函数,并将新获得的结果复制到工作表上的下一个可用行中:

 for i = 1 to 10 me.cells(i,3).value = SheetWithCalculations.GetWhatever(me.cells(i,1).value, me.cells(i,2).value) next