代码之家  ›  专栏  ›  技术社区  ›  Mark Harrison

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

  •  2
  • Mark Harrison  · 技术社区  · 15 年前

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

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

    有没有一种方法可以使它成为一个函数或子例程,这样我就可以在另一个工作表中使用它来填充一个值表?

    1 回复  |  直到 9 年前
        1
  •  4
  •   GSerg    15 年前

    Data tables 可以为您工作,但不能引用其他工作表中的单元格。至少,Excel2003是这样的,你可以在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
    
    推荐文章