从 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
请您帮忙输入以下代码:
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