简体   繁体   中英

Assign macro in drop down list and run with button

I have created several macros that generates ID . Now I need to put them in a drop down list to be selected.

The idea is that I'll insert a button (let's call it GENERATE ) and a drop down list 1 cell above the button. As the value changes in the drop down list, the GENERATE button will generate an ID of a different formula accordingly. Here is my codes although I'm not sure if they are right..

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

Use this:

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

Instead of all your if-statements.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM