VBA--选择符合条件数据并复制到新的工作表
点击上方
蓝色
文字 关注我们吧!
送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
有朋友问了我这样一个问题:在一个数据区域中,根据某列下拉箭头选择状态为“完成”的数据,之后将符合条件的整行数据复制到另一个工作表中。例如下图,数据是这个样子的:
选择状态为“完成”的数据后,自动将所有符合条件的数据行复制到“sheet2”中。
一对多查询经典公式
首先,我们可以用一对多查询经典公式来解决这个问题。还记得那个经典公式吗?对,就是INDEX+SMALL+IF组合!
经典公式可以解决这个问题,但并不是最优解!如果数据量比较大,会使得文件比较慢。同时,经典公式也不是我们今天重点要介绍的内容。
下面就来看看另外一个方法。
VBA
通过VBA我们可以很方便的解决这个问题。下面是这段代码。
Sub 自动复制()
Sheets("sheet1").Select
Range("a1").AutoFilter field:=1, Criteria1:="完成"
Range("$a$1:$c$1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("sheet2").Select
Range("a1").Select
Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks _
:=False, Transpose:=False
Sheets("sheet1").Select
Selection.AutoFilter
Range("a1").Select
End Sub
注意,以上这段代码要写在“模块”中哦!
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
戳原文,更有料!免费模板文档!