我正在創建一個將公式寫入單元格的宏。但是,運行後出現在單元格中的公式是添加括號。使用VBA將公式寫入單元格會創建額外的括號
這是代碼:
Selection.Offset(0, 1).Select
Selection = "=VLOOKUP(RC[-1],Parameters!A:B,2,0)"
這是在小區中的公式運行之後:
=VLOOKUP(B2305,Parameters!A:(B),2,0)
它在B
列添加括號。 你能幫我解決這個問題嗎?
我正在創建一個將公式寫入單元格的宏。但是,運行後出現在單元格中的公式是添加括號。使用VBA將公式寫入單元格會創建額外的括號
這是代碼:
Selection.Offset(0, 1).Select
Selection = "=VLOOKUP(RC[-1],Parameters!A:B,2,0)"
這是在小區中的公式運行之後:
=VLOOKUP(B2305,Parameters!A:(B),2,0)
它在B
列添加括號。 你能幫我解決這個問題嗎?
您正在「兩全其美」,Excel不喜歡它! :) 例如,您正在使用RC和字母符號。因此,Excel會更改您的公式。
像這樣的東西應該工作:
Selection.formula = "=VLOOKUP(D47,Parameters!A:B,2,0)"
或像這樣的東西,如果你把它在RC:
Selection.FormulaR1C1 = "=VLOOKUP(RC[-1],Parameters!C[-4]:C[-3],2,0)
Selection.Formula = "=VLOOKUP(RC[-1],Parameters!C[-4]:C[-3],2,0)
(無論Selection.Formula
和Selection.Formular1c1
工作) 在這裏你可以看到更多有關RC的公式:
只是一個方面說明:儘量避免使用'.select'讓你的代碼更好更快發展。閱讀[VBA最佳實踐](http://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices)以瞭解如何。 –