Excel VBA应用程序.OnKey
按下enter键时,我正在使用以下命令运行宏SQLExcel VBA应用程序.OnKey,vba,excel,Vba,Excel,按下enter键时,我正在使用以下命令运行宏SQL Private Sub Workbook_Open() Application.OnKey "~", "SQL" End Sub 但是,我只希望在第1列A中运行宏SQL。 宏运行后,我的活动单元格位于第9列第I列,我想在按下该列中的enter键时运行第二个宏 我尝试了以下操作,但是宏SQL试图同时为列1和列9运行 Private Sub Workbook_Open() If ActiveCell.Column = 1 Then
Private Sub Workbook_Open()
Application.OnKey "~", "SQL"
End Sub
但是,我只希望在第1列A中运行宏SQL。
宏运行后,我的活动单元格位于第9列第I列,我想在按下该列中的enter键时运行第二个宏
我尝试了以下操作,但是宏SQL试图同时为列1和列9运行
Private Sub Workbook_Open()
If ActiveCell.Column = 1 Then
Application.OnKey "~", "SQL"
Else
Application.OnKey "~", "SCAN_MEZBOX"
End If
End Sub
有人能帮我吗?您应该编写一个中心例程,根据您在工作表中的位置分配到相应的例程
Private Sub Workbook_Open()
Application.OnKey "~", "Dispatch"
End Sub
Private Sub Dispacth()
Select Case ActiveCell.Column
Case 1
SQL
Case 9
SCAN_MEZBOX
' Add other cases if necessary
Case Else
End Select
End Sub
将smarts放入SQL宏中:
您的意思是当您站在A列上按enter键时要运行SQL,当您站在I列上按enter键时要运行SCAN_MEZBOX吗?但是在哪张工作表上?所有的工作表?你是故意把它放在公开活动上的吗?或者不熟悉工作表\u更改事件?使用更改/离开单元格后要触发的enter键的想法是什么?当然。。。太棒了,很好用。谢谢加里的学生!
Sub SQL()
Dim C As Long
C = ActiveCell.Column
If C = 1 Then
'do something
ElseIf C = 9 Then
'do something else
Else
Exit Sub
End If
End Sub