我有一个excel工作表,它接受两个输入并生成一个输出。
我现在可以打开工作表,将两个输入到单元格A1和A2中,结果显示在A3中。
有没有办法可以将它变成函数或子程序,这样我就可以在另一个工作表中使用它来填写值表?
答案 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