【问题标题】:Call macros from a range/list从范围/列表调用宏
【发布时间】:2015-02-03 00:19:31
【问题描述】:

请帮助以下代码:

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

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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

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

    Application.Run "Module2." & mCell.Value
    

    【讨论】:

      【解决方案2】:

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

      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
      

      【讨论】:

        猜你喜欢
        • 2018-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多