运行时错误1004 vba方法范围对象_global失败

时间:2019-08-04 16:43:26

标签: excel vba

我有大量的代码正在将原始数据的报告处理成可用的工作表。我即将遇到1004错误。该代码正在过滤工作表2上的数据,将其复制,粘贴到新的工作表选项卡上,然后返回并删除过滤后的数据,然后重复几个其他选项卡。对于前3-4个过滤条件,它运行良好,但在最后一个条件上失败。我迷路了,因为它是已经运行而没有发生故障的相同代码。

我尝试重新措辞最初定义范围的方式。没运气。我尝试更改代码的顺序,仍然没有运气。

DIM rng As Range (defined in Private Sub CommandButton1_Click())

Module 1 Code
.
.
.
Selection.End(xlDown).Select  'where I define rng
ActiveCell.Offset(0, 12).Select
Set rng = ActiveCell
Range("A2", rng).Select
.
.
.
'Creates GroupB tab WORKS FINE
    ActiveSheet.Range("$A$1:$N$192").AutoFilter Field:=5, Criteria1:="GroupB"
    Selection.Copy
    Sheets("Sheet2").Select
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Cells.Select
    Cells.EntireColumn.AutoFit
    Sheets("Sheet2").Select
    Range(Range("A2"), rng).SpecialCells(xlCellTypeVisible).EntireRow.Delete

'Creates GroupC tab WORKS FINE
    ActiveSheet.Range("$A$1:$N$192").AutoFilter Field:=5, Criteria1:="GroupC"
    Range("A1", rng).Select
    Selection.Copy
    Sheets("Sheet3").Select
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Cells.Select
    Cells.EntireColumn.AutoFit
    Sheets("Sheet2").Select
    Range(Range("A2"), rng).SpecialCells(xlCellTypeVisible).EntireRow.Delete

'Creates GroupD tab WORKS FINE
    ActiveSheet.Range("$A$1:$N$192").AutoFilter Field:=5, Criteria1:="GroupD"
    Range("A1", rng).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet4").Select
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Cells.Select
    Cells.EntireColumn.AutoFit
    Sheets("Sheet2").Select
    Range(Range("A2"), rng).SpecialCells(xlCellTypeVisible).EntireRow.Delete

'Creates GroupE tab 

    ActiveSheet.Range("$A$1:$N$192").AutoFilter Field:=5, Criteria1:="GroupE"

    Range("A1", rng).Select *Fails HERE with the run time error 1004 vba method range object _global failed Error

    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet5").Select
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Cells.Select
    Cells.EntireColumn.AutoFit
    Sheets("Sheet2").Select
    Range(Range("A2"), rng).SpecialCells(xlCellTypeVisible).EntireRow.Delete

请我不知道为什么它对于GroupB-D可以正常工作,但为什么对E无效,这是相同的代码。

0 个答案:

没有答案