Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带变量的Excel vba onkey_Excel_Vba - Fatal编程技术网

带变量的Excel vba onkey

带变量的Excel vba onkey,excel,vba,Excel,Vba,我需要您在以下方面的帮助: 我需要通过按快捷键来运行现有的宏 要定义的快捷键是:Shift+Control+(1到之间的数字 30) B列包含以下范围内从1到30的数字, B14=1,B15=2。。。。B43=30 例如,列E包含宏的名称 E14=宏A,E15=宏B。。。。E43=宏负载 因此,按下Shift+Control+10时,宏J应 被运行 我已经完成了以下代码,但没有成功: Sub test() Dim n As Integer For n = 1 To 30

我需要您在以下方面的帮助:

  • 我需要通过按快捷键来运行现有的宏

  • 要定义的快捷键是:Shift+Control+(1到之间的数字 30)

  • B列包含以下范围内从1到30的数字, B14=1,B15=2。。。。B43=30

  • 例如,列E包含宏的名称 E14=宏A,E15=宏B。。。。E43=宏负载

  • 因此,按下Shift+Control+10时,宏J应 被运行

  • 我已经完成了以下代码,但没有成功:

    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
    

    你很接近
    如果您有如下宏,代码将“几乎”工作:

    Sub macroname()
        MsgBox "Hello world"
    End Sub
    
    您需要如下语法:

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

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

    您忘记了
    下一个n
    ,在
    结束子
    之前,
    暗宏名
    应该在
    for n
    循环之前。