首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于Application.Onkey的问题

关于Application.Onkey的问题
EN

Stack Overflow用户
提问于 2020-11-28 08:17:31
回答 2查看 208关注 0票数 0

我已经看过关于这个问题的每一篇文章/问题,但是没有运气--提前感谢你的帮助:

在我的“工作手册”中,我有以下内容:

代码语言:javascript
运行
复制
Option Explicit

Public Sub Workbook_Open()
Application.OnKey "+^%{+}", "Insert_Columns"
End Sub

在模块中,我有以下内容:

代码语言:javascript
运行
复制
Sub Insert_Columns()

Dim num As String

num = InputBox("How many columns do you want to insert?")

If num <> "" Then
    If num > 0 Then ActiveCell.Offset(0, 1).Resize(1, num).EntireColumn.Insert
End If

End Sub

由于某种原因,捷径不起作用。我试过很多不同的方法,但是有没有人知道为什么这条捷径是行不通的?如果我手动单击"Run“,该宏将运行得很好。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-28 18:54:51

first 的所有您不需要的第一个+,您可以简单地拥有"^%{+}"

要访问Ctrl+Alt+Shift+=字符,需要按下Shift键(在大多数标准键盘中,+位于=按钮上),这意味着您需要按下Shift才能运行该过程。如果不想按Shift键,请使用"^%{=}"

撇开:

您可能希望将这些OnKey设置放在Workbook_Activate中,并在Workbook_Deactivate中重置它们。这将避免在工作簿关闭或它不是活动的工作簿时运行这些过程。请注意,我是如何完全限定过程名称的,以避免与另一个在不同的打开工作簿中具有相同名称的过程发生冲突。

代码语言:javascript
运行
复制
Private Sub Workbook_Activate()
  '* Set OnKey shortcuts
  Application.OnKey Key:="^%{=}", Procedure:=ThisWorkbook.Name & "!Insert_Columns"
End Sub

Private Sub Workbook_Deactivate()
  '* Reset OnKey shortcuts
  Application.OnKey Key:="^%{=}", Procedure:=""
End Sub

最后要考虑的是使用Application.InputBox而不是InputBox,因为前者可以让您更好地控制用户输入的内容。找到docs 这里

代码语言:javascript
运行
复制
Sub Insert_Columns()

  Dim num As String
  
  '* Type:=1 -> Number
  num = Application.InputBox("How many columns do you want to insert?", Type:=1)
  
  '* Application.InputBox returns False if x or Cancel buttons are pressed
  If num Then
      If num > 0 Then ActiveCell.Offset(0, 1).Resize(1, num).EntireColumn.Insert
  End If

End Sub
票数 0
EN

Stack Overflow用户

发布于 2020-11-28 09:13:17

嗯,我已经测试过您的代码并运行了,但是您可能尝试使用Ctrl + Alt + Shif + {+},但是您正在按{NUMPAD+} remenber {+}和{NUMPAD+}键,当我按下{+}代码运行良好时,这些键是不同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65047703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档