Excel 单击userform中的按钮时调用vba代码
我创建了以下简单的Excel 单击userform中的按钮时调用vba代码,excel,vba,Excel,Vba,我创建了以下简单的UserForm1包含CommandButton1=Yes和CommandButton2=No: 我使用以下VBA将其称为UserForm1: Sub Open_Userform() Call UserForm1.Show(vbModeless) End Sub 到目前为止,所有这些都很有效 现在我想知道,如果用户单击CommandButton1,将调用以下VBA: Sub Finish_Process() Sheet1.Range("A1").Value = 1 End
UserForm1
包含CommandButton1=Yes
和CommandButton2=No
:
我使用以下VBA将其称为UserForm1
:
Sub Open_Userform()
Call UserForm1.Show(vbModeless)
End Sub
到目前为止,所有这些都很有效
现在我想知道,如果用户单击
CommandButton1
,将调用以下VBA:
Sub Finish_Process()
Sheet1.Range("A1").Value = 1
End Sub
因此,我将UserForm1
中的以下代码添加到CommandButton1
:
Private Sub CommandButton1_Click()
Call Finish_Process
End Sub
然而,现在当我点击CommandButton1
时,我得到了errorSub或Function not defined
我需要在代码中更改什么才能使其正常工作?如注释中所述,如果
子完成过程()存储在模块中而不是“此工作表”中,则问题可以解决。如注释中所述,如果子完成过程()
存储在模块中,而不在“此工作表”中。是另一个工作簿中的Finish\u Process
宏吗?能否将其添加到模块中并重试?尽管它应该在本工作表中工作
尝试将Sub-Finish\u-Process()
更改为Public Sub-Finish\u-Process()
将其放在正常模块中。与其他人一致。子Finish\u Process()
需要在常规模块中,而不是工作表中+1问一个非常相关的问题。Finish\u过程
宏是否在另一个工作簿中?能否将其添加到模块中并重试?尽管它应该在本工作表中工作
尝试将Sub-Finish\u-Process()
更改为Public Sub-Finish\u-Process()
将其放在正常模块中。与其他人一致。子Finish\u Process()
需要在常规模块中,而不是工作表中+一个非常有趣的问题。