2013-12-15 96 views
0

搜索发现,像这样的代码VBA。这段代码有什么不正确?

Sub Workbook_Activate() 
Application.OnKey "+^{RIGHT}", "YourMacroName" 
End Sub 

然而,当我尝试,我得到了

enter image description here

如何创建程序?

我这样做

Sub YourMacroName() 
    Selection.Copy 
    Sheets("V").Select 
End Sub 

Sub Workbook_Activate() 
Application.OnKey "+^{RIGHT}", "YourMacroName" 
End Sub 

得到了同样的错误

什么是正确的代码?或者,在哪里将是傻瓜教程?找到一些例子,但他们不工作

我看到我的标签被修改为excelexcel-vba。但我不使用excel。使用金山WPS Office

改变Application.OnKey "+^{RIGHT}", "YourMacroName".OnKey Key:="^+M", Procedure:="YourMacroName"

,并得到

enter image description here

则改为OnKey Key:="^+M", Procedure:="YourMacroName"(除去.),并得到了错误Named argument not found。并获得选择Key:=

+3

你没有一个名为“YourMacroName” –

+0

过程如果金斯敦办事处类似于Excel中,然后尝试把模块内部的YourMacroName而不是在'ThisWorkbook'里面。 – ssarabando

回答

1

在“ThisWorkbook”中,您将运行由事件触发的代码。我建议你也把它放在Workbook_Open而不是Workbook_Activate中,因为你只需要存储一次快捷方式。

因此,在VB编辑器中,如果不是(CTRL + R),请打开“Project Explorer”并在文件夹“Microsoft Excel Objects”中找到“ThisWorkbook”。 这里的代码看起来应该是这样

Private Sub Workbook_Open() 

    ' CTRL + SHIFT + RIGHT 
    Application.OnKey "+^{RIGHT}", "YourMacroName" 

End Sub 

因为,一个模块内(在Project Explorer中,用鼠标右键单击该文件夹“模块”,并选择插入>模块上),把宏“YourMacroName”

Sub YourMacroName() 
    Selection.Copy 
    Sheets("V").Select 
End Sub 

哦,你可能应该重命名的东西,更明显的程序“YourMacroName” ......