Excel vba Autofilter前10行,根据条件复制结果
我的电子表格中的数据范围为A6:H105
我想过滤H列中具有固定标准的前10行(A6:H15),并从结果中仅复制列A,D,E
到目前为止,我有以下代码:
Sub Filter() ActiveSheet.Range("A6:H15").AutoFilter Field:=8, Criteria1:="xxx" End Sub
问题1:为什么第一行没有被过滤?
问题2:如何在应用filter后只复制列A,D,E的范围?
答案1:这是细菌自动filter把第一行作为表头。 将范围设置为从第5行开始的更高一行。
答案2:你可以像这样复制一个组合的范围
Range("A6:A15, D6:D15, E6:E15").Copy
然后粘贴到任何你喜欢的三个相邻的列。
您可能需要修改范围才能首先select已过滤或非空白的单元格。
你可以做这样的事情:
Sub Filter() ActiveSheet.Range("A6:H15").AutoFilter Field:=8, Criteria1:="xxx" Range("A:A,B:B,D:D").Select Selection.SpecialCells(xlCellTypeVisible).Select Selection.Copy Range("J1").PasteSpecial Paste:=xlPasteValues End Sub