CallByName
- это то, что вам нужно для выполнения задачи.
Пример:
Код в листе 1
Option Explicit
Public Function Sum(ByVal x As Integer, ByVal y As Integer) As Long
Sum = x + y
End Function
Код - Модуль1 (базовый модуль)
Option Explicit
Sub testSum()
Dim methodToCall As String
methodToCall = "Sum"
MsgBox CallByName(Sheet1, methodToCall, VbMethod, 1, 2)
End Sub
Запуск метода testSum
вызывает метод Sum
, используя имя метода, указанное в строковой переменной, передавая 2 параметра (1 и 2). Возвращаемое значение вызова функции возвращается как результат CallByName
.