如何根据VBA中的单元格值调用过程

时间:2018-07-14 10:58:29

标签: excel vba excel-vba

我在工作簿的不同工作表上编写了不同的过程。我想根据工作表中的特定单元格值调用特定过程。

我尝试定义变量

示例:

假设,Worksheet.Range(“ C6”)= RC

所以我定义了一个变量'i'

i= thisworkbook.sheets("Sheet1").range("C6").value

Call i

但是我在这方面遇到了错误。

值范围C6根据其内容在变化,它具有总共32个内容的数组,因此我编写了32个不同的过程。我只需要根据“ C6”的值调用每个过程即可。

它总共有32个过程,我可以使用IF条件编写,但是它太庞大了,所以我正在尝试一些简单的方法。

1 个答案:

答案 0 :(得分:2)

使用Application.Run而不是Call

假设我们将宏的名称放在 A1 中,然后:

Sub MAIN()
    Dim WhichMac As String
    WhichMac = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
    Application.Run WhichMac
End Sub

Sub MyMac()
    MsgBox "Hello World"
End Sub

enter image description here

MAIN()将调用您在 A1 中放置其名称的宏。