我有一个宏来编译来自另一个工作表的数据,然后操纵所述数据。我的第一步是通过空白过滤并删除出现的所有行。我以为我正确编写了代码,但我显然不是,因为每次我得到运行时错误' 1004'应用程序定义或对象定义错误 我没有看到我的变量有任何问题,我过滤的列是D列。
如果你能在我的代码中看到任何有助于我知道的内容。谢谢!
Sub X50()
Dim wb As Workbook
Dim ws As Worksheet, macro As Worksheet, Pscrub As Worksheet
Dim lastRow As Long
Dim mlastRow As Long
Set wb = ThisWorkbook
Set ws = wb.Sheets("X50 - All")
lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
Sheets.Add After:=Sheets(Sheets.Count), Count:=2
Sheets(3).Select
Sheets(3).Name = "Pre Scrub"
Sheets(4).Select
Sheets(4).Name = "Macro"
Set Pscrub = wb.Sheets("Pre Scrub")
Set macro = wb.Sheets("Macro")
mlastRow = macro.Range("A" & Rows.Count).End(xlUp).Row
ws.Range("AM6:AM" & lastRow).Copy Destination:=macro.Range("A1")
ws.Range("AL6:AL" & lastRow).Copy Destination:=macro.Range("B1")
ws.Range("F6:F" & lastRow).Copy Destination:=macro.Range("C1")
ws.Range("E6:E" & lastRow).Copy Destination:=macro.Range("D1")
ws.Range("G6:G" & lastRow).Copy Destination:=macro.Range("E1")
ws.Range("K6:K" & lastRow).Copy Destination:=macro.Range("F1")
macro.Range("A1").AutoFilter Field:=4, Criteria1:=(""), _
Operator:=xlFilterValues
macro.Range("D2:D" & mlastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
macro.AutoFilterMode = False
wsPrescrub.Range("$A$1:$F$" & mlastRow).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6) _
, Header:=xlYes
End Sub