2017-02-11 73 views
-1

我真的很新的VBA宏函數,我想問一下:COUNTIFS用VBA來extrernal工作簿

我如何才能代表一個表編寫一個函數來一個「虛擬」的工作簿(從開始我選擇的單元格的位置)基於來自工作簿的Countifs,我選擇何時運行此宏。

例子:

Table

我的結果的每一個細胞都含有類似 「COUNTIFS」。 此表位於我的目標工作簿中,並粘貼在此處。我知道,這可不行

我想要實現的是:

當我運行宏,我想選擇一個workbookand粘貼在我的ActiveCell

那些COUNTIFS到我的虛擬工作簿的結果

COUNTIFS都是這樣

C:C = USE_CWP Y:J =相關K:K = OK < <細胞 - > B2 >>

C:C = USE_CWP Y:J =相關K:K =沒有< <細胞 - > B3 >>

C:C = USE_CWP Y:J =相關K:K =運< <細胞 - > B4 >>

C:C = NOTUSE_CWP Y:J =相關K:K = OK < <細胞 - > C2 >>

C:C = NOTUSE_CWP Y:J =相關K:K = no < <細胞 - > C3 >>

C:C = NOTUSE_CWP Y:J =相關K:K =運< <細胞 - > C4 >>

等等.....

如果帖子不清楚,請讓我給你更多的細節。

非常感謝您

+0

有關'COUNTIFS'您的問題或你只是問如何打開工作簿,獲得的一系列數據並將其粘貼到另一個工作簿片? –

+0

感謝您的快速回放。我的問題與COUNTIFS有關。此表是Countifs的輸出。我不希望這個表存在於我的「主要工作簿」中,但我想將這些結果創建爲一個虛擬工作簿。因此,我的虛擬工作簿將連接到主工作簿以進行countif檢查並返回結果。我的問題是,主要的工作日常更改名稱,這就是爲什麼我想選擇manualy。 – Woups

+0

所以你需要的是一些代碼來顯示'FileOpen'對話框和一個變量來接受返回? –

回答

0

在源工作簿中,你可以建立一個COUNTIFS公式來看看另一個工作簿。例如:

=COUNTIFS(INDIRECT("'["&B1&"]"&B2&"'!"&B3),B4)

其中:

  • B1包含工作簿的名稱例如YourWorkbook.xlsx

  • B2包含工作簿中的工作表名稱B1例如,DataSheet

  • B3包含B2例如範圍片材的名稱$A$1:$A$100

  • B4包含要查找的值範圍B3例如, foo

所以,你可以在你的工作簿中使用在任何COUNTIFS公式這些參考,改變它的引用,如果你需要更新的源數據表格。

例子:

enter image description here

+0

不錯的方法,但我有多個範圍來檢查 – Woups