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

时间:2010-08-25 22:27:08

标签: excel

我有一个excel工作表,它接受两个输入并生成一个输出。

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

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

1 个答案:

答案 0 :(得分:4)

Data tables可能适合您,但您无法从其他工作表中引用单元格。至少,对于Excel 2003来说,您可以在2007年或2010年试用它,看它是否有效。


其他:

是的,你可以制作一个子程序 但是,您无法创建工作表功能,因为它们不允许更改工作表。

在该工作表上,创建一个功能:

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