从范围/列表中调用宏

时间:2015-01-28 15:17:56

标签: excel vba excel-vba

请使用以下代码提供帮助:

1)目标:运行范围内引用的宏。

2)范围(" B1:B101")包含要运行的宏列表。例如,单元格B1包含引用具有相同名称的宏的单词Macro1,B2指的是Macro2,依此类推。

3)Macro1,Macro2 ...已经创建。

4)我已经使用以下代码,但还没有运气:

Dim mCell As Range
Dim mRange As Range
Dim mMacro As String
mMacro = mCell.Value

Set mRange = Sheets("Sheet1").Range("B1:B101")

For Each mCell In mRange.Cells
    Application.Run Module2.mMacro
Next mCell

2 个答案:

答案 0 :(得分:1)

Application.Run方法以String为参数,尝试将名称作为字符串传递:

Application.Run "Module2." & mCell.Value

答案 1 :(得分:0)

在代码中进行一些修改,检查这是否是您想要的:

Sub try()

Dim mCell As Range
Dim mRange As Range
Dim mMacro As String


Set mRange = Sheets("Sheet1").Range("B1:B101")

For Each mCell In mRange.Cells
    mMacro = mCell.Value
    Application.Run "Module2." & mMacro
Next mCell

End Sub