VBA从模块中调用Sheet中的SUB

use*_*882 3 excel vba excel-vba

我试图从模块中调用一张工作表中定义的Sub.

我在我的模块中使用的代码(Inside a Sub)

CallByName Worksheets("Sheet_name"), "Sub_name", vbMethod
Run Code Online (Sandbox Code Playgroud)

但是excel不会执行Sub.模块和工作表位于同一工作簿中

Est*_*cia 7

您需要将功能设置Public为如下所示

工作表Sheet1:

Public Sub test()
    MsgBox "Got here!"
End Sub
Run Code Online (Sandbox Code Playgroud)

模块:

Sub callTest()
    With Sheet1
        Call .test
    End With
End Sub
Run Code Online (Sandbox Code Playgroud)


小智 7

对我来说,我必须将工作表子程序从私有更改为公共才能使调用正常工作。

Call Worksheets("Sheet_name").Sub_name
Run Code Online (Sandbox Code Playgroud)

就我而言:

Call Worksheets("Sheet 20").CommandButton1_Click
Run Code Online (Sandbox Code Playgroud)