2017-04-24 88 views
2

我正在創建一個將公式寫入單元格的宏。但是,運行後出現在單元格中的公式是添加括號。使用VBA將公式寫入單元格會創建額外的括號

這是代碼:

Selection.Offset(0, 1).Select 
Selection = "=VLOOKUP(RC[-1],Parameters!A:B,2,0)" 

這是在小區中的公式運行之後:

=VLOOKUP(B2305,Parameters!A:(B),2,0) 

它在B列添加括號。 你能幫我解決這個問題嗎?

+0

只是一個方面說明:儘量避免使用'.select'讓你的代碼更好更快發展。閱讀[VBA最佳實踐](http://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices)以瞭解如何。 –

回答

3

您正在「兩全其美」,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.FormulaSelection.Formular1c1工作) 在這裏你可以看到更多有關RC的公式:

+0

你是對的!我沒有看到。 WEW。 –

+0

感謝您的幫助。 :) –

+0

@EfrenBersamin - 歡迎您:) – Vityata

相關問題