我有大量的代码正在将原始数据的报告处理成可用的工作表。我即将遇到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无效,这是相同的代码。