excel - 删除所有状态为“XXX”的订单的宏,然后删除所有订单类型:Z、L、ZR
问题描述
我们每个月都会手动将信息从 SAP 导出到 Excel,然后从中创建生产计划。将信息转化为 excel 的第一步是过滤到某些标准并删除其余部分。我是 VBA/宏的初学者,我只能在网上找到有关如何通过某些条件删除行而不是删除超出我所需条件的行的示例。
我想删除所有状态为“XXX”的订单。然后我想删除所有订单类型,除了:Z、L、ZR
我假设这是可能的,而且我只是没有受过足够的 vba 教育,无法弄清楚。请告诉我,谢谢!
解决方案
为您要保留的内容应用过滤器,并将它们复制到新工作簿或临时工作表中,您可以从中复制回来。
Option Explicit
Sub Macro1()
Const COL_STATUS = 1 ' column no
Const COL_ORDERTYPE = 4 ' column no
Dim ws As Worksheet, wsTemp As Worksheet
Dim rng As Range
With ThisWorkbook
Set ws = .Sheets("Sheet1")
Set wsTemp = .Sheets.Add(after:=.Sheets(.Sheets.Count))
End With
Application.ScreenUpdating = False
With ws.UsedRange
.AutoFilter COL_STATUS, Array("Z", "L", "ZR"), xlFilterValues
.AutoFilter COL_ORDERTYPE, "<>ZZZ"
.Copy wsTemp.Range("A1")
.AutoFilter
.Cells.Clear
End With
With wsTemp
.UsedRange.Copy ws.Range("A1")
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
Application.ScreenUpdating = True
MsgBox "Done"
End Sub
推荐阅读
- asp.net-web-api - 如何将 Web API 添加到 Visual Studio
- javascript - 缺少字段时如何使用 php 或 js 回显默认文本?
- date - 从 Jinja 表达式中减去日期
- python - Python RegEx 从地址中拆分街道和号码
- android - Android Activity Lifecycle 中的 Flutter configureFlutterEngine 方法
- xml - XML标记的XPath取决于文本中的位置?
- spring - 没有 maxlen 选项来限制弹簧数据反应 Redis 模板中的流大小
- windows - 此 Microsoft 文档中的字节/位顺序是什么?
- java - Aspose PDF:是否可以使对象“不可打印”?
- graphics - hlsl 非插值行为