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

Compile error in event handler subroutine

我有一个脚本,当在特定 sheet 中进行更改时应该 运行,所以我在指定的 [=] 中创建了一个 Worksheet_Change() 类型的 sub 23=].

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

我怎样才能越过第一行?

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

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

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

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