2014-07-01 25 views
1

我发现这对相关的主题 - Excel function to make SQL-like queries on worksheet data?使用Excel工作簿中的功能等

但我想知道如果有任何方式使用像功能的Excel工作簿/文件中的一个单独的工作簿/文件
所以我有一个excel工作簿,有一个控制页面 - 我可以在这里输入参数1,2,3。根据这些参数,outpage页面将显示相关数据。我知道我可以复制输出页面以显示所有三个参数的输出,并将它们链接到我的其他工作簿。

但是,有没有办法(在其他excel文件中)做类似FILENAME_otherfile.function(1).range(A1)之类的东西?提取参数1作为输入的单元格A1
并且在同一个文件中也叫FILENAME_otherfile.function(2).range(A1)

+0

其实,有没有办法在同一个工作簿中以同样的方式使用excel表单作为函数? – user3794025

+2

我不明白你的意思是“作为一个功能”......你只是想访问值? – smagnan

+0

是的,但是数据文件的制作方式不是为参数1,2,3创建一个输出页面,而是有一个输出表,其中显示给定参数(1,2,3)的输出进入一个小区。所以我想要做的是能够在一个文件中插入一行说:1)插入单元格C1给定参数输入的值为1 2),同时在工作簿的另一部分插入一行说:“插入值给定参数的C1是2. – user3794025

回答

2

这样做有一种非常不雅的方式,但我们可以保持界面尽可能漂亮。

  1. 打开了Application.Workbooks.Open()
  2. 工作簿设置其属性为Hidden审美原因。
  3. 假设您想操纵“Sheet1”,然后将InputRangeOutputRange(您将看到输出的单元格)的单元格操作到打开的工作簿中的适当范围。
  4. 更改InputRange.Cells(m,n).Value
  5. 进入某些变量发生什么,例如,

    Dim MyAnswer as Double 
    MyAnswer = OutputRange.Cells(x,y) 
    
  6. 关闭工作簿时,优选不将其保存(作为编程逻辑需要),并使用MyAnswer值作为“功能”输出。

+0

其实我现在得到这个 - 但这不会使它的值是动态的吗? – user3794025

+0

我不知道我是否正确理解这个。是否希望在电子表格中更改值并使用另一个电子表格作为函数,并在工作表中查看答案?如果是这样,您需要打开FunctionWorkbook,修改其中的输入单元格,以便将其替换为公式“= MyDisplaySheetInputCellReference”,然后添加一个引用到你的DisplaySheet中的FunctionWorkbook。恕我直言,不值得它重新编码它更有效率,或者最坏的情况下,通过一个宏来做...并使其变成动态的,也许你可以捕获一个Worksheet_Change()事件只要输入单元格发生变化,宏就会运行。 – hnk

+0

嗨,上面贴出的答案有用吗?如果是这样,请接受并投票。谢谢 – hnk