我得到了
Range类的
运行时错误“1004”自动筛选方法失败
执行时
Sheets("InitialFourColumns Check").Rows.AutoFilter我尝试了堆栈溢出中给出的解决方案。
Sub D_CopyValidData()
'Filter and move valid data
'Move Subcription data
Sheets("InitialFourColumns Check").Select
'ActiveSheet.AutoFilterMode = False
usedRowsSubCheck1 = Sheets("InitialFourColumns Check").Range("A10000").End(xlUp).Row
'Selection.AutoFilter
Sheets("InitialFourColumns Check").Rows.AutoFilter
'Sheets("InitialFourColumns Check").AutoFilterMode = False
'Sheets("InitialFourColumns Check").Range("A10000").End(xlUp).Rows.AutoFilter
ActiveSheet.Range("$A$1:$AA" & usedRowsSubCheck1).AutoFilter Field:=11, Criteria1:="TRUE"
usedRowsSubCheck2 = Sheets("InitialFourColumns Check").Range("A10000").End(xlUp).Row
If usedRowsSubCheck2 > 1 Then
Range("A2:Y" & usedRowsSubCheck2).Copy
Sheets("Valid Data").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets("InitialFourColumns Check").Rows.AutoFilter
Else
Sheets("InitialFourColumns Check").Rows.AutoFilter
End If

发布于 2020-05-21 10:20:17
试试看,我认为它应该有效:
Option Explicit
Sub D_CopyValidData()
With ThisWorkbook.Sheets("InitialFourColumns Check")
Dim usedRowsSubCheck1 As Long
usedRowsSubCheck1 = .Cells(.Rows.Count, 1).End(xlUp).Row
If .AutoFilterMode Then .AutoFilterMode = False
.Range("A1", "AA" & usedRowsSubCheck1).AutoFilter 11, "TRUE"
usedRowsSubCheck1 = .Cells(.Rows.Count, 1).End(xlUp).Row
If usedRowsSubCheck1 > 1 Then
.Range("A2:Y" & usedRowsSubCheck1).Copy
ThisWorkbook.Sheets("Valid Data").Range("B2").PasteSpecial xlPasteValues
End If
.AutoFilterMode = False
End With
End Subhttps://stackoverflow.com/questions/61931678
复制相似问题