Vba AutoFilter.Range.Copy不工作

Vba AutoFilter.Range.Copy不工作,vba,excel,Vba,Excel,我尝试使用AutoFilter筛选一个工作表,然后使用AutoFilter.Range.copy将筛选的内容复制到另一个工作表。但是,当我运行代码时,会弹出一条错误消息说 未设置对象变量或带块变量 我的代码如下: Sub Macro_CreateNewSheet() Application.ScreenUpdating = False Dim report As Workbook Set report = ActiveWorkbook NowMonth = MonthName(Month(N

我尝试使用AutoFilter筛选一个工作表,然后使用AutoFilter.Range.copy将筛选的内容复制到另一个工作表。但是,当我运行代码时,会弹出一条错误消息说

未设置对象变量或带块变量

我的代码如下:

Sub Macro_CreateNewSheet()
Application.ScreenUpdating = False

Dim report As Workbook
Set report = ActiveWorkbook

NowMonth = MonthName(Month(Now), True)
Nowday = Day(Now)

Set rp = report.Sheets.Add(After:=Worksheets(Worksheets.Count), 
Type:=xlWorksheet)
rp.Name = NowMonth & " " & (Nowday - 6) & "-" & Nowday

Dim origin As Workbook
Set origin = Workbooks.Open("My Directory")

Dim StartDate As String, EndDate As String
EndDate = Format(Date, "mm/dd/yy")
StartDate = Format(DateAdd("d", -6, EndDate), "mm/dd/yy")

Set WS1 = origin.Worksheets("ABS")
Set cl = report.Worksheets("Calculation")

With WS1
.Range("A1").CurrentRegion.Sort key1:=.Range("A1"), order1:=xlAscending, Header:=xlYes
.Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=">=" & StartDate, Operator:=xlAnd, Criteria2:="<=" & EndDate
.AutoFilter.Range.Copy cl.Cells(1, 1)
.ShowAllData
End With

End Sub
我对VBA不是很熟悉,请帮我解决这个问题


提前谢谢大家。

如果知道错误发生时突出显示哪一行,也会很有帮助。1
Set origin=Workbooks.Open(“我的目录”)
希望您有完整的路径、文件名和扩展名。2.
StartDate=DateAdd(“d”、-6,EndDate)
应该是
StartDate=Format(DateAdd(“d”、-6,Date),“mm/dd/yy”)
@braX,请查看更新,谢谢@ShaiRado,是的,我用的是完整的路径。谢谢你的格式更正。我对VBA不是很熟悉,那你为什么要写这段代码呢?
.AutoFilter.Range.Copy cl.Cells(1, 1)