循环后wB.Save和wB.Close没有考虑在内

时间:2018-02-16 13:48:07

标签: vba loops crash save

我有一个包含多个工作簿的文件。我正在使用此宏(下面)在此文件的每个工作簿上进行一些更改。

Sub REPLACE1()
Dim y As Integer
Dim wB As Workbook
Set FileSystemObj = CreateObject("Scripting.FileSystemObject")
Set FolderObj = FileSystemObj.GetFolder("C:\MYLOCATION\")

For Each fileobj In FolderObj.Files
    Set wB = Workbooks.Open(fileobj.Path)
    With wB.Sheets("vlcs")
        For y = 3 To .Cells(Rows.Count, 8).End(xlUp).Row
            If .Cells(y, "A") = "" Then
                .Cells(y, "A") = 0
            End If
            If .Cells(y, "O") = "" Then
                .Cells(y, "O") = 0
            End If
            If Left(.Cells(y, "H").Value, 2) = "24" Then
                .Cells(y, "H") = 2359
            End If
        Next y
    End With
    wB.Save
    wB.Close         '<---- Problems are from here
Next fileobj
End Sub

关于循环的一切都很好但是,wB.Save和wB.Close存在问题。 对于循环的每个工作簿,我有警报&#34;您是否要保存更改&#34;,这是正常的,因为我保存并关闭我的循环文件。而且,如果我点击YES,一切都会崩溃。我尝试在wB.Close之后放入DoEvents但没有任何改变。 感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

将其更改为wB.Close False,其中False表示不保存更改