Excel VBA基于另一个工作簿中的一系列单元格过滤工作表

时间:2013-01-16 04:13:26

标签: excel vba excel-vba autofilter

晚上好,

过去几个月我一直在学习如何使用VBA来自动化大量报告。这个网站提供了很大的帮助,我已经能够弄清楚如何做很多事情,但是这个问题的解决方案仍然无法解决。我有一个相对复杂的宏,它完全自动化了这个特定的报告,除了这个步骤,如果我能解决这个问题,我可以实现报告的完全自动化。

系统生成.xls格式的原始数据文件,其中包含必须清理并添加到报告模板中的月份的新数据。列X包含商品描述,但是许多行数据具有不可接受的商品描述,这些行需要复制到单独的工作表中并发送给其他人以找到正确的描述。在主报告模板中,我创建了一个可接受的商品描述列表,我希望能够拥有原始数据文件过滤器,以便在X列中具有不在可接受列表中的值的任何行显示所有已隐藏已包含可接受描述的行。

我试过操纵过滤器,录制宏,并试图操纵代码但没有运气。这是我记录动作时得到的结果。数组开头的一些项目是可接受的描述(有意义的东西)的示例,最后的随机内容是我想要显示的项目类型的示例,这些将​​需要进行研究和手动纠正。

Sub hiderows()
    Windows("stop level data.xls").Activate
    Rows("1:1").Select
    Selection.AutoFilter

    ActiveSheet.Range("$A$1:$AB$1290").AutoFilter Field:=24, Criteria1:=Array( _
    "Cotton", "Covers", "Displays", "Fabric", "Fasteners", "Fiber", "Fiber Rolls", _
    "Fibers", "Foam", "Foam Rolls", "Frames", "Labels", "Latex", "Lumber", "Machines",_
    "Mattresses", "Pads", "Plastic", "PO #Avi", "PO #P0005557/SO #3203687", _
    "PO #P0005615/SO #3203693", "PO #P0007297/SO#3203828", "Rolls", "Serta", "Springs"_
    , "T000216", "T000247", "T000269", "T000270", "T000278", "T000286", "T000294", _
    "T000296", "Tape", "Thread", "Tick", "Ticking", "Transfer from", "Wood", _
    "="), Operator:=xlFilterValues
End Sub

作为第一步,我尝试上面的代码来隐藏行而不是通过插入<>来显示它们。而不是以多种不同的方式,但没有运气。我真正想要做的是过滤工作表Windows("Stop level data.xls"),以便在特定行的column X中的值不等于Windows("master template.xlsm").Sheets("lookups").Range("AE2:AE100")

中的值时

提前感谢你的时间,我花了无数个小时与之斗争,而且我真的没有接近解决方案了。

0 个答案:

没有答案