【发布时间】:2013-06-27 17:39:55
【问题描述】:
这似乎是一个简单的问题,但非常令人沮丧。我在 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
我在模块中有另一个子例程,我认为这可能是导致问题的原因?我认为这是因为当我简单地将数据复制粘贴到新工作表中时,我可以为例程分配一个按钮。我认为这与我的文件路径没有任何关系,因为我没有使用任何(我认为)违规字符。
【问题讨论】:
-
你能举一些例子吗?
-
Excel文件的路径是什么?确保路径中没有括号。
-
要扩展@RichardMorgan 发表的评论,请看这里:excelforum.com/excel-programming-vba-macros/…