Application.OnKey过程错误 – 无法运行macros
我正在使用onkey事件来检测是否按下退格或删除的模块,如果它符合事件的标准,相应的单元格将清除内容。
我有一个程序启动相应的子,但我得到一个错误'macros不能find'
我附上的错误和下面的代码的图像,有什么build议吗?
错误的形象
码
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If ActiveCell.Column = 2 Then Application.OnKey Key:="{DEL}", Procedure:="DeleteResources" Application.OnKey Key:="{BACKSPACE}", Procedure:="DeleteResources" End If End Sub Public Sub DeleteResources() ActiveCell.Offset(, 1).ClearContents ActiveCell.Offset(, 2).ClearContents ActiveCell.Offset(, 3).ClearContents End If End Sub
您需要将DeleteResources
放入代码Module
以便它具有完整的公共范围,特别是在使用过程名称的后期绑定时。
此外,你需要删除多余的End If
你有在该方法。
就像一个参考,因为你已经有一个工作的解决scheme,你不必移动的例程,你只需要在名称前加上它的容器模块的代码名称:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim sProc As String sProc = Me.CodeName & ".DeleteResources" If ActiveCell.Column = 2 Then Application.OnKey Key:="{DEL}", Procedure:=sProc Application.OnKey Key:="{BACKSPACE}", Procedure:=sProc End If End Sub Public Sub DeleteResources() ActiveCell.Offset(, 1).Resize(, 3).ClearContents End Sub