*编辑 我用一个新的excel文件尝试了我的代码,它起作用了!但是当我用当前文件尝试时,发生了同样的事情。 *编辑
我这里有一个代码,该代码将根据条件“否”过滤数据。该代码将过滤来自sheet5的数据并将其复制到sheet1。我的问题是,代码将自动删除母版表(sheet5)中标准为“否”的数据。我希望主表中的数据保持不变。任何帮助都非常感谢。
Sub searchX()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Worksheets("Sheet5") 'master
Set ws2 = Worksheets("Sheet1") 'reminder
With ws1
.AutoFilterMode = False
.Range("B3").AutoFilter
.Range("B3").AutoFilter Field:=17, Criteria1:="NO",
On Error Resume Next
.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).Copy Destination:=ws2.Range("B15")
.AutoFilterMode = False
End With
MsgBox ("Search done.")
End Sub
答案 0 :(得分:0)
我对您的代码进行了更改,删除了.Range("B3").AutoFilter
,它可以工作,但可能无法达到您想要的方式。
Sub searchX()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = ThisWorkbook.Worksheets("Sheet5") 'master
Set ws2 = ThisWorkbook.Worksheets("Sheet1") 'reminder
With ws1
.AutoFilterMode = False
.Range("B3").AutoFilter Field:=17, Criteria1:="NO"
On Error Resume Next
.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).Copy Destination:=ws2.Range("B15")
.AutoFilterMode = False
End With
MsgBox ("Search done.")
End Sub