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

时间:2015-11-04 16:27:20

标签: excel vba compiler-errors event-handling

我有一个脚本应该在特定工作表中进行更改时运行,因此我在指定工作表中创建了一个Worksheet_Change()类型子。

但是,一旦进行了更改,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语句之后的许多行继续。

如何通过第一行?

1 个答案:

答案 0 :(得分:0)

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

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

保存工作簿。使用VBE插入Worksheet_Change签名......让它做。

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