编译事件处理程序子例程中的错误

我有一个脚本,应该在特定工作表中进行更改时运行,所以我在指定工作表中创build了一个Worksheet_Change()types的子工具。

但是,一旦进行了更改,VBA会为“ 错误的参数数量或无效的属性分配 ”吐出编译错误,并突出显示子项的第一行,即Private Sub Worksheet_Change(ByVal Target As Range)

 Private Sub Worksheet_Change(ByVal Target As Range) Dim newVal As String Dim oldVal As String Dim pageEnd As Integer Dim oldRng As Range Dim newRng As Range Dim toolList As Range 

Dim语句之后,代码继续执行很多行。

我怎么能通过第一线?

有时事件过程签名会在内部被破坏,即使能够正确显示也是如此。 这甚至发生在经典的VB。

将整个过程复制到文本编辑器,如记事本。 从工作表模块中删除整个过程。

保存工作簿。 使用VBE插入Worksheet_Change签名…让它做到这一点。

从记事本中复制内部文本,并将其粘贴到VBE创build的签名中。