将主工作簿VBA应用到1000个文件不起作用

问题描述 投票:0回答:1

按照on this older stackflow question的说明,我尝试使用以下代码运行宏:

Sub ay1()
Dim fileName, Pathname As String
Dim wb As Workbook
Pathname = "/Users/ayy/Downloads/Folder1/STATS1/"
fileName = Dir(Pathname & "*.csv")
Do While fileName <> ""
    Set wb = Workbooks.Open(Pathname & fileName)
    DoWork wb
    wb.Close SaveChanges:=True
    fileName = Dir()
    Loop
End Sub

Sub DoWork(wb As Workbook)

With wb


    Selection.AutoFilter
            ActiveSheet.Range("$A$1:$C$191").AutoFilter Field:=3, Criteria1:="="
            Range("C2:C190").Select
            Selection.EntireRow.Delete
            ActiveSheet.Range("$A$1:$C$96").AutoFilter Field:=3
            Range("E95").Select
            ActiveWorkbook.Save
            ActiveWindow.Close

    End With
End Sub

我试图将其保存在“宏工作簿”中,该宏在所有.csv文件所在的同一目录中已启用宏。然后我单击运行宏并选择ay1。

出于某种原因,该文件未在我的任何文件上运行,我想知道为什么可能是这种情况。我没有收到任何错误,也没有对我的文件做任何事情。

任何帮助或指导,将不胜感激。

excel vba
1个回答
0
投票

使用With块:您需要将引用与wb绑在一起,并以前导.

© www.soinside.com 2019 - 2024. All rights reserved.