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