這看起來像是一個簡單的問題,但它非常令人沮喪。我在VBA中編寫了幾個(相對簡單的)宏,用於我想使用戶非常友好的電子表格。Excel VBA:公式對象過於複雜
換句話說,我希望所有的宏由按鈕來運行。但是,每當我嘗試分配按鈕宏,我得到的錯誤:
Formula is too complex to be assigned to object
發生這種情況甚至當我嘗試將其分配到一個空的子程序。它的工作,但只爲我寫的第一個宏。一旦我將其他子程序添加到模塊中,我就不能再將新按鈕分配給宏。
這是我寫的代碼:
Sub Button1_Click()
selName = Range("C2").Value
div = Range("E2").Value
cost = Range("F2").Value
diff = div - cost
If diff < 0 Then
diff = 0
End If
Range("G2").Select
ActiveCell.FormulaR1C1 = diff
x = Range("A2").Value + 1
Worksheets("VIP_TEMPLATE.PIVOT").Select
Range("J" & x).Select
ActiveCell.FormulaR1C1 = diff
Worksheets("CALCULATE").Select
Range("F2").Select
ActiveCell.ClearContents
End Sub
我還有一個子程序模塊中,我認爲這可能是導致這個問題?我認爲這是因爲當我簡單地將數據複製粘貼到新的工作表時,我可以爲例程分配一個按鈕。我認爲它與我的文件路徑沒有任何關係,因爲我沒有使用任何(我認爲)有問題的字符。
你能舉一些例子嗎? – chancea
Excel文件的路徑是什麼?確保路徑中沒有括號。 –
延長@RichardMorgan發表的評論,看看這裏:http://www.excelforum.com/excel-programming-vba-macros/340547-and-quot-formula-is-too-complex-to- be-assigned-to-object-and-quot.html – sous2817