如何更改我的filter,然后复制显示的所有数据

我有一个Excel表格中有很多数据的Excel工作表。 这是macros想录制什么想做的事情

ActiveSheet.Range("$A$1:$M$2735").AutoFilter Field:=1, Criteria1:= _ "2015-05-28" Range("A2618").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy 

我遇到的问题是,它给出了自动筛选范围的特定单元格(我想将其应用于不同的表格,可能有不同数量的行/列)

一旦数据被过滤,我也想只select左上angular的单元格,这个代码通过命名来完成。 之后,我想select表中的所有数据并复制它。 我知道这与Range(“A1”)。CurrentRegion,但我不知道如何实现这一点。

我与我的代码的另一个问题是过滤结果date相对今天的date。 例如,我想过滤到昨天的date,然后过滤到3天前的date,然后过去几周的date。

对不起,这是3个问题的post,但帮助将不胜感激

VBA知道表为列表对象,所以如果你想引用表中的表可以使用: Sheets(i).ListObjects(1).Range

筛选后select整个表格: Sheets(i).ListObjects(1).Range.SpecialCells(xlCellTypeVisible).Select

将filter设置为昨天: Sheets(i).ListObjects(1).Range.AutoFilter Field:=1, Criteria:=format(date()-1,"yyyy-mm-dd")