所以我在它们上面有一个关联过滤器的行(每个单元格上都有一个箭头,当你点击它们时,会出现一个允许用户过滤特定内容的过滤器框)。但是我有一个小问题,这是我用来将一行从一张纸复制到另一张的代码:
Sheets(Name).Range("A1").EntireRow.Copy Destination:= _
Sheets("Monthly").Range("A1").End(xlUp).Offset(Sheets("Monthly").UsedRange.rows.Count - 1)
Cells.EntireColumn.AutoFit
问题是,当此代码复制行时,它们会丢失其过滤器属性。有没有办法保存这些信息?
答案 0 :(得分:1)
作为评论的后续行动:
应在工作表Monthly
上明确应用自动过滤器。
比方说,如果你将第1行(使用自动过滤器)中的行№1复制到工作表№10中的工作表Monthly
,那么你应该使用这一行来应用自动过滤器:
Sheets("Monthly").Range("A10:Z10").AutoFilter
更改行号和列以适应。
答案 1 :(得分:1)
默认情况下,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非常有帮助。