Vba打开工作簿,应用过滤器并关闭工作簿?
我想用下面的代码打开一个excel工作簿,过滤一列并再次关闭它 - 保存更改。Vba打开工作簿,应用过滤器并关闭工作簿?
继承人我的代码,但由于某种原因,它不使用过滤器:
DisplayAlerts = False
OtherBook.Open
Selection.AutoFilter Field:=1, Criteria1:="49"
OtherBook.Close SaveChanges:=True
我的工作簿看起来是这样的:在他们的头
A柱和柱已经应用于B过滤器/接通。
Column A Column B <----(Filters On)
49 Dog
48 Cat
49 Dog
47 Cat
49 Dog
45 Dog
请问有人可以告诉我我要去哪里吗?
'Selection'适用于活动工作簿,它可能有点含糊,也许尝试更精确地引用范围。改变这一行:
Selection.AutoFilter Field:=1, Criteria1:="49"
要这样:
Workbooks(OtherBook).ActiveSheet.Cells(1, 1).AutoFilter Field:=1, Criteria1:="49"
或者这样:
Workbooks(OtherBook).ActiveSheet.Cells(1, 1).Resize(1, 2).AutoFilter Field:=1, Criteria1:="49"
感谢您的建议。这似乎并没有工作。我的过滤器列A的标题从第6行开始,这可能是问题吗?我已将单元格(1,1)更改为单元格(6,1) - 是吗? –
啊我看,是的,(6,1).. – David
那么它仍然不会工作:( –
Otherbook.Activate()? Application.Documents.Open(路径为字符串)? – Jbjstam
你的代码是否真的与'OtherBook'语句一起工作? – user3598756