admin 管理员组

文章数量: 1086019


2024年3月27日发(作者:生死谍恋电视剧演员表)

VBA技巧36复制自动筛选后的数据区域

技巧1 复制自动筛选后的数据区域

用户在对如图 1-1所示的数据列表进行自动筛选后,往往希望将自动筛选的结果复制

到其它地方。

图 1-1 筛选结果

这时可以通过获取该列表区域中可见单元格的方法得到筛选结果的单元格区域,并复

制到工作表Sheet2中,如下面的代码所示。

#001 Sub CopyFilter()

#002

#003 With Sheet1

#004 If .FilterMode Then

#005 .lCells(12).Copy (1, 1)

#006 End If

#007 End With

#008 End Sub

代码解析:

CopyFilter过程将Sheet1表中的筛选结果复制到工作表Sheet2中。 第2行代码清

除Sheet2表中数据。

第4行代码判断Sheet1表是否处于自动筛选状态。FilterMode属性返回工作表是

否处于筛选模式,如果指定工作表中包含已筛选序列且该序列中含有隐藏行,则该值为

True。

第5行代码通过AutoFilter对象的Range属性返回工作表的自动筛选列表区域,再

使用SpecialCells方法获取该列表区域中可见单元格(SpecialCells方法请参阅错误~未

找到引用源。),得到筛选结果的单元格区域,然后使用Copy方法将结果区域复制到工

作表Sheet2中,应用于Range对象的Copy方法将单元格区域复制到指定的区域或剪

贴板中,语法如下:

(Destination)

参数expression是必需的,该表达式返回一个Range对象。

参数Destination是可选的,指定区域要复制到的目标区域。如果省略该参数,则将

该区域复制到剪贴板中。

运行CopyFilter过程工作表Sheet2如图 1-2所示。

图 1-2 复制筛选区域


本文标签: 筛选 区域 自动 工作