答案 0 :(得分:0)
以下内容将数据从Sheet1中的表复制到Sheet2,其中第二列不是0 - 使用表的自动过滤器。
我必须添加1秒application.wait
以允许在复制之前应用过滤器。这可能需要根据表大小增加。也许其他人可以帮助使用更强大的等待过滤器应用的方法..?
Dim source_sheet As Worksheet
Dim destination_sheet As Worksheet
Set source_sheet = Sheets("Sheet1")
Set destination_sheet = Sheets("Sheet2")
With source_sheet.ListObjects("Table1").Range
.AutoFilter Field:=2, Criteria1:="<>0"
Application.Wait 1
.Copy Destination:=destination_sheet.Range("A1")
.AutoFilter Field:=2
End With
值得一提的是,Sheet2的输出不是 true 表格形式。但是,记录一个将其转换为表格以获取该段代码的宏应该不会很棘手。