Передайте Sub в качестве параметра - PullRequest
0 голосов
/ 09 июля 2020

У меня есть подпрограмма

Sub MySub1

MsgBox "I am ok!"

End Sub

Затем у меня есть так называемая «подпрограмма метода» с параметрами

Sub MySub2 (Parameter1, Parameter2, MethodName)

MsgBox Parameter1
MsgBox Parameter2

MethodName

End Sub

Затем я хотел бы запустить всю эту цепочку в моем мастере. Я пробовал следующее:

Sub MasterSub

Dim Parameter1 As String
Dim Parameter2 As String
Dim MethodName As String

Parameter1 = "Ou"
Parameter2 = "Yes"
MethodName = MySub1

MySub2 Parameter1, Parameter2, MethodName

Dim 

Это дает ошибку, значение или функцию которого ожидается. Как заставить это работать?

1 Ответ

1 голос
/ 09 июля 2020

Вам необходимо создать Module (как видно на скриншоте ниже):

enter image description here

Then paste this code:

    Private Sub MySub1()
        MsgBox "I am ok!"
    End Sub

    Private Sub MySub2(Parameter1, Parameter2, MethodName)
        MsgBox Parameter1
        MsgBox Parameter2

        Application.Run MethodName
    End Sub

    Sub MasterSub()
        Dim Parameter1 As String
        Dim Parameter2 As String
        Dim MethodName As String

        Parameter1 = "Ou"
        Parameter2 = "Yes"
        MethodName = "MySub1"

        MySub2 Parameter1, Parameter2, MethodName
    End Sub

И затем нажмите кнопку Run Sub/User Form ( или нажмите кнопку F5), чтобы запустить макрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...