带有变量的Excel vba onkey

时间:2015-01-30 20:58:53

标签: excel-vba vba excel

我请求您提供以下帮助:

  1. 我需要按快捷键来运行现有的宏。

  2. 要定义的快捷键是:Shift + Control +(从1到1的数字) 30)。

  3. B列包含以下范围内的1到30之间的数字, B14 = 1,B15 = 2 ...... B43 = 30.

  4. 列E包含宏的名称,例如 E14 = MacroA,E15 = MacroB .... E43 = MacroAD。

  5. 因此,按下Shift + Control + 10,MacroJ应该 跑。

  6. 我已经完成了以下代码,但没有运气:

    Sub test()
    
        Dim n As Integer
    
        For n = 1 To 30
    
        Dim macroname As String
    
        macroname = Application.VLOOKUP(n, Range("B14:E43"), 4, false).Value
    
        Application.OnKey "+^n","macroname"
    
    End Sub
    

1 个答案:

答案 0 :(得分:0)

你非常接近!如果你有一个宏,那么代码将“几乎”起作用:

Sub macroname()
    MsgBox "Hello world"
End Sub

您需要一种语法:

Dim s1 As String
s1 = "+^" & CStr(n)
Application.OnKey s1, macroname

我不知道 n 是否可以超过 9