2014-03-12 100 views
0

VBA新手在這裏...我可以縮短這個等式嗎?

我有兩行代碼:

Application.Goto ActiveWorkbook.Sheets("Macros").Range("F1") 
Range("F1").FormulaR1C1 = "=COUNTA(DBPaste!R[1]C[-5]:R[1000]C[-5])" 

我可以縮短這個?

我想:

Application.Goto ActiveWorkbook.Sheets("Macros").Range("F1").FormulaR1C1 = "COUNTA(DBPaste!R[1]C[-5]:R[1000]C[-5])" 

思維,可能是它,但它不工作。

謝謝!

+3

只要'ActiveWorkbook.Sheets 「範圍(」 宏)( 「F1」)COUNTA(FormulaR1C1 =」。 !DBPaste R [1] C [-5]:R [1000] C [-5])「' –

+0

@TimWilliams我很高興它是那麼容易!爲什麼我不需要application.goto部分? – NumberJuan

+2

因爲你沒有「走出去」到(也不是「選擇」,也不是「激活」)範圍的方法適用於它。在這種情況下,只需將公式方法應用於範圍。 –

回答

0

一個答案的緣故。正如@andy解釋說,「你不必‘走出去’(也不是‘選擇’,也不是‘激活’)範圍的方法適用於它。在這種情況下,只需將式方法應用於該範圍」,因此,通過添威廉姆斯給出:

ActiveWorkbook.Sheets("Macros").Range("F1").FormulaR1C1 = "COUNTA(DBPaste!R[1]C[-5]:R[1000]C[-5])"