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
时,我得到了error
Sub或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()
需要在常规模块中,而不是工作表中+一个非常有趣的问题。