我正在尝试为"中心选择"创建一个热键快捷键。功能。 "合并细胞"功能看起来不错,但是在实践中使用它是可怕的,因为它用Macros等创建的问题。所以,当然,选择中心是首选工具。我使用键盘在Excel中导航,因此有一个自定义快捷方式可以使这个选择更容易,更快,因为它经常被使用,这将是非常好的。
我有一些代码,我认为应该可以使用,但出于某种原因,它不是:
在PERSONAL.XLSB中 - 第1单元
Private Sub WorkBook_Open()
Application.OnKey "^q", "center_across_selection"
End Sub
在PERSONAL.XLSB - 第3单元
Sub center_across_selection()
With Selection
'converts centered text to regular format
If .HorizontalAlignment = xlCenterAcrossSelection Then
.HorizontalAlignment = xlGeneral
'converts regular text to centered across selection
Else
Selection.HorizontalAlignment = xlCenterAcrossSelection
End If
End With
End Sub
然后,一旦我保存它,退出工作簿(以及所有其他工作簿),重新打开工作簿,并尝试使用Ctrl+Q
快捷方式,我的单元格没有任何反应!请帮我找到我错的地方。
答案 0 :(得分:1)
将Private Sub WorkBook_Open()
从 MODULE 1 移至工作簿代码区。
答案 1 :(得分:1)
您已在标准模块中实施了该宏; Workbook_Open
表示处理Workbook
对象的Open
事件,但标准模块不会这样做(ThisWorkbook
类/ Excel对象模块执行此操作,如Gary's (well, his student's anyway) answer)所示。
因此,您要么将宏移至ThisWorkbook
的代码隐藏,要么将宏重命名为Excel4兼容的Auto_Open
:
Private Sub Auto_Open()
Application.OnKey "^q", "center_across_selection"
End Sub
请注意,无论工作簿打开时Auto_Open
的状态如何,此Application.EnableEvants
宏都会运行。