VBA 新手,这是我第一次发布问题。我有一个包含大约 50k 条记录的工作簿。数据包括大约。2700 只美国股票,每两周更新一次数据,以查看价格、交易量等。我将每两周更新一次数据,当我这样做时,我将消除不符合某些标准的证券。在每次更新时,可能有 30 - 50 只证券需要删除,因此为每个证券过滤并删除该证券的所有行非常耗时。
我希望能够在名为“过滤器”的工作表上维护一个表格,每次我需要删除某些证券时,我可以手动填充我的“删除”,然后运行一个宏来过滤这些证券并删除所有行。
到目前为止,这是我尝试将数据过滤到所需行的方法。我似乎无法让它工作。我在下面的粗线中收到错误。
我有一个名为“过滤”的表格,在表格“过滤器”(第五张)中命名,原始数据在一张名为“数据”的表格中(第一张)。任何帮助是极大的赞赏。
Sub deleterows()
Dim Filtering As Variant
Dim ws1 As Worksheet, ws2 As Worksheet
Dim sedol As Range, rngData As Range
Set ws1 = Worksheets("Data")
Set ws2 = Worksheets("Filters")
Set rngData = ws1.Range("$D$1").CurrentRegion
**Set sedol = ws2.Range("Filtering")**
Filtering = sedol.Value
rngData.AutoFilter Field:=1, _
Criteria1:=Application.Transpose(Filtering), _
Operator:=xlFilterValues