2013-12-15 31 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」 ......