VBA Excel如何在复制行时维护filter

所以我得到了一行关联的filter(每个这些单元格上有一个箭头,当你点击它们时,出现允许用户过滤特定内容的filter框)。 但是我有一个小问题,这是我用来从一张纸复制一行到另一张的代码:

Sheets(Name).Range("A1").EntireRow.Copy Destination:= _ Sheets("Monthly").Range("A1").End(xlUp).Offset(Sheets("Monthly").UsedRange.rows.Count - 1) Cells.EntireColumn.AutoFit 

问题是,当这个代码复制行时,他们失去了他们的filter属性。 有没有办法保存这些信息?

作为评论的后续行动:

自动filter应明确申请Monthly表。 比如说,如果您将sheet1(自动filter)中的第1行复制到Monthly第10行,则应使用此行应用自动filter:

 Sheets("Monthly").Range("A10:Z10").AutoFilter 

更改行号和列以适应。

默认情况下,Range.AutoFilter方法将应用于整个行,所以你可以把这个行的第一个单元格这样…

 Worksheets("Monthly").Range("A10").AutoFilter 

另外,为了更多的控制,你可以传递额外的参数:

 Worksheets("Monthly").Range("A10").AutoFilter _ field:=1, _ Criteria1:="nameToMatch", _ VisibleDropDown:=True 

在Excel VBE(Visual Basic编辑器)中,只需突出显示任何您想查找更多信息的内容,然后点击F1即可显示帮助。

Excel Developer Reference可能非常有用。