我尝试在 Excel 中创建功能区,并且成功了。现在我已经为按钮分配了一个宏。
Function delete_cells(control As IRibbonControl)
现在,我创建了另一个宏,我需要从中调用函数delete_cells
。我尝试按如下方式调用它。
Function modify_cells(control As IRibbonControl)
delete_cells
End Sub
我收到一条错误消息,提示参数不可选。请帮我解决这个错误。
最佳答案
我建议您创建一个单独的子例程,您可以从按钮的 OnAction 以及任何您想要调用它的其他地方调用它,例如:
'button macro
Sub cmdDeleteCells_OnAction(control as iRibbonControl)
DeleteCells
End Sub
'another Sub that calls the delete routine
Sub SomeOtherSub
DeleteCells
End Sub
'the one they're all talking about
Sub DeleteCells
msgbox "All your cells are toast, bwah hah hah ha!"
End Sub
编辑:如果您确实只想调用按钮的 OnAction 子函数,则还需要向其传递一个 iRibbonControl 对象,因此声明一个假对象:
Sub CallTheButtonsCode()
Dim FakeControl As IRibbonControl
cmdDeleteCells_OnAction FakeControl
End Sub
出于代码维护的原因,我真的不推荐这样做,但它确实有效。
关于excel - 如何在vba中调用已分配给按钮的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956585/