2015-11-04 68 views
1

我有一个在特定工作表中进行更改时应该运行的脚本,所以我在指定工作表中创建了一个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

有时事件过程签名在内部被破坏,即使能够正确“显示”。这甚至发生在经典的VB中。将整个过程复制到文本编辑器,如记事本。从工作表模块中删除整个过程。保存工作簿。使用VBE插入Worksheet_Change签名...让它做到这一点。从记事本复制内部文本并将其粘贴到VBE创建的签名中。 –

+0

谢谢,这似乎有所帮助。我不完全确定发生了什么,但似乎已经自行解决了。 –

回答

0

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

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

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

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