VBA--选择符合条件数据并复制到新的工作表

点击上方

蓝色

文字  关注我们吧!

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

有朋友问了我这样一个问题:在一个数据区域中,根据某列下拉箭头选择状态为“完成”的数据,之后将符合条件的整行数据复制到另一个工作表中。例如下图,数据是这个样子的:

选择状态为“完成”的数据后,自动将所有符合条件的数据行复制到“sheet2”中。

01

一对多查询经典公式

首先,我们可以用一对多查询经典公式来解决这个问题。还记得那个经典公式吗?对,就是INDEX+SMALL+IF组合!

经典公式可以解决这个问题,但并不是最优解!如果数据量比较大,会使得文件比较慢。同时,经典公式也不是我们今天重点要介绍的内容。

下面就来看看另外一个方法。

02

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操作问题时不再迷茫无助

戳原文,更有料!免费模板文档!

(0)

相关推荐