在下拉列表中指定宏并使用按钮运行

时间:2015-04-30 03:54:56

标签: list excel-vba button vba excel

我创建了几个生成ID的宏。现在我需要将它们放在一个下拉列表中进行选择。

我的想法是,我会在按钮上方插入一个按钮(让我们称之为GENERATE)和一个下拉列表1单元格。随着值在下拉列表中更改,GENERATE按钮将相应地生成不同公式的ID。这是我的代码,虽然我不确定它们是否正确..

Sub GenerateID()
Dim macroName As String
macroName = Range("A4").Value

If macroName = NRIC Then
    Application.Run (GenerateNRICFIN)
ElseIf macroName = FIN Then
    Application.Run (GenerateFIN)
ElseIf macroName = RB Then
    Application.Run (GenerateRB)
ElseIf macroName = RB2 Then
    Application.Run (GenerateRB2)
ElseIf macroName = RB3 Then
    Application.Run (GenerateRB3)
ElseIf macroName = RB4 Then
    Application.Run (GenerateRB4)
ElseIf macroName = RB5 Then
    Application.Run (GenerateRB5)
ElseIf macroName = RC Then
    Application.Run (GenerateRC)
ElseIf macroName = RC2 Then
    Application.Run (GenerateRC2)
ElseIf macroName = RC3 Then
    Application.Run (GenerateRC3)
ElseIf macroName = RC4 Then
    Application.Run (GenerateRC4)
ElseIf macroName = RC5 Then
    Application.Run (GenerateRC5)
ElseIf macroName = RC6 Then
    Application.Run (GenerateRC6)
End If
End Sub

1 个答案:

答案 0 :(得分:0)

使用此:

Sub GenerateID()
Dim macroName As String
'macroName = Range("A4").Value 
macroName = ThisWorkbook.Sheets("Sheet1").Range("A4").Value

IF (macroName = "NRIC") then macroName = "NRICFIN"

Application.Run "Generate" & macroName

END Sub

而不是所有的if语句。