这似乎是一个简单的问题,但它非常令人沮丧。我在 VBA 中为电子表格编写了几个(相对简单的)宏,我想让它变得非常用户友好。
换句话说,我希望所有宏都由按钮运行。但是,每当我尝试将按钮分配给宏时,我都会收到错误消息:
公式太复杂,无法分配给对象
即使我尝试将它分配给一个空的子例程,也会发生这种情况。它有效,但仅适用于我编写的第一个宏。一旦我将其他子程序添加到模块中,我就不能再将新按钮分配给宏。
这是我写的代码:
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
我在模块中有另一个子例程,我认为这可能是导致问题的原因?我认为这是因为当我简单地将数据复制粘贴到新工作表中时,我可以为例程分配一个按钮。我认为这与我的文件路径没有任何关系,因为我不使用任何(我认为)违规字符。