簡體   English   中英

VBA 從模塊調用工作表中的 SUB

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM