这看起来像是一个简单的问题,但它非常令人沮丧。我在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