从 range/list 调用宏

Call macros from a range/list

请您帮忙输入以下代码:

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

2) Range("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

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

Application.Run "Module2." & mCell.Value

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

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