我有一个包含多个工作簿的文件。我正在使用这个宏(下面)在这个文件的每个工作簿上做一些更改。
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有一个问题。对于每个循环的工作簿,我都会收到“是否要保存更改”的警告,这是不正常的,因为我保存并关闭了循环的文件。此外,如果我点击YES,所有的东西都会崩溃。我试图将DoEvents放在wB.Close之后,但是什么都没有改变。谢谢你的建议。
发布于 2018-02-16 21:52:59
将其更改为wB.Close False,其中False表示不保存更改
https://stackoverflow.com/questions/48828211
复制相似问题