vba错误424:需要对象

时间:2014-08-07 11:34:31

标签: excel vba excel-vba

Excel 2010,vba,Win 7。 我正在使用on change事件来运行一些代码来更新其他表。除了一个以外的每个实例都可以正 我正在做的事情的简要描述:当所述列(2或4)被更改时,将列2(或4)复制到每个其他工作表的第2列(或4),并执行一些其他操作。其他被称为宏的工作正常。  如果我尝试删除或清除第2列中包含最后一个单元格(向下)的一系列单元格,则它会给出错误424.任何其他操作(键入,复制,删除)都可以正常工作,只要最后一个单元格仍然有其中的东西。要清楚,最后一个单元格是指包含文本的列中的最后一个单元格(向下)。上面还有其他文字。 显然我还不能发布图片,所以我无法更清楚地说明你的内容。

代码:

Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column = 2 Or Target.Column = 4) Then
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim I, WS_Index, WS_Count As Integer
WS_Index = ActiveWorkbook.ActiveSheet.Index
WS_Count = ActiveWorkbook.Worksheets.count

'copy bbcodes and consolidations across sheets
For I = 1 To WS_Count
    If I <> WS_Index Then
         'Error is thrown on this line!
         ActiveWorkbook.Sheets(WS_Index).Columns(Target.Column).Copy Destination:=ActiveWorkbook.Sheets(I).Columns(Target.Column)
    End If
    ActiveWorkbook.Sheets(I).Activate
    FillbyExample
Next I
ActiveWorkbook.Sheets(WS_Index).Activate
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub

我对此非常陌生(从星期一开始!),尽管我已经学到了很多东西并且进行了大量搜索,但我还是无法确定发生了什么。任何帮助都将受到极大的赞赏。

1 个答案:

答案 0 :(得分:0)

它不那么优雅,但最后我简单地确定了:

ActiveWorkbook.Sheets(WS_Index).Columns("B").Copy Destination:=ActiveWorkbook.Sheets(I).Range("B1")

因为我真的只需要这两个柱子。