[英]VBA call a SUB in a Sheet from module
我正在嘗試從模塊調用我在 Sheet 中定義的 Sub。
我在我的模塊中使用的代碼(恰好在一個 Sub 中):
CallByName Worksheets("Sheet_name"), "Sub_name", vbMethod
但 Excel 不執行 Sub。 模塊和工作表位於同一個工作簿中。
您需要將您的功能設置為Public
,如下所示
表 1:
Public Sub test()
MsgBox "Got here!"
End Sub
模塊:
Sub callTest()
With Sheet1
Call .test
End With
End Sub
對我來說,我必須將 Sheet Sub Procedure 從 Private 更改為 Public 才能使 Call 工作。
Call Worksheets("Sheet_name").Sub_name
就我而言:
Call Worksheets("Sheet 20").CommandButton1_Click
如果它在同一個項目中並且屬於Public
范圍 - 只需使用子的名稱。
如果它在另一個工作簿中,請使用Application.Run()
1.
Sub Foo()
Bar '// Runs Sub Bar()
End Sub
Sub Bar()
MsgBox "I got called!"
End Sub
2.
Sub Foo()
Application.Run "MyOtherWorkbook.xlsm!Bar"
End Sub
從任何模塊或工作表(具有代碼),如果您在“ Sheet12
”中有一個名為Button1_click()
的子,並且您想從其他模塊或工作表調用它。 只需輸入
call Sheets("Sheet12").Button1_click 'Without parenthesis
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.