2014-07-01 53 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