Public WithEvents sht As Worksheet
Private Sub sht_Change(ByVal Target As Range)
    On Error GoTo ren
    Set myc.sht = Nothing
    Set myc = Nothing
    Range("a1:g3") = 1
ren:
End Sub
在单元格中输入自定义函数-涉及到的sheelt问题
http://club.excelhome.net/thread-435496-1-1.html在这个例子中,引用了WithEvents---使用 WithEvents 进行静态事件绑定
请问:
    WithEvents在这里起什么作用??   

解决方案 »

  1.   

    说明sht是一个用来响应由 ActiveX 对象触发的事件的对象变量。
      

  2.   

    谢谢回帖,以此为关键词得到结果如下。好像解决了,模糊概念,还需要消化理解。如何创建应用程序级别事件处理程序
    http://support.microsoft.com/kb/158244/zh-cn声明一个变量为 Application 对象使用该 WithEvents 关键字。 WithEvents 关键字可创建一个对象变量,以响应由 ActiveX 对象 (如 Application 对象) 触发的事件。 注意: WithEvents 无效仅在类模块中。
    创建特定的应用程序事件的过程。 是例如可以创建 WindowResize、 WorkbookOpen 或 SheetActivate 事件使用 WithEvents 声明的对象的一个过程。
    创建并运行启动事件处理程序的过程。
      

  3.   

    用WithEvents关键字声明为某种类型的对象变量后,就可以用与此变量关联的过程对对象的事件进行响应,如果不必对事件进行响应就不必用这个关键字。VBA中规定WithEvents只能用在类模块中,所以只有属于类成员的对象变量才能用来进行事件响应。在工作表、窗体等模块中虽然不必用WithEvents对变量进行显式声明,但实际这些模块也是类模块。