我有一个VBA程序,它从网络位置提取数据,处理数据,然后将其保存为单个CSV文件。此循环将创建超过1000个单独的CSV文件。
我得到的错误是看似随机,保存对话框就会卡住。它就像保存文件一样,但永远不会完成,并且会无限期地坐在那里。如果我点击取消,宏就会继续。 (我把文件名弄黑了)
我的代码是:
Application.ScreenUpdating = False
counter = 2
Do Until ThisWorkbook.Sheets("Production_Data").Cells(Counter, 5).Value = ""
'''' Main operations go here ''''
'Save workbook to new file
Application.DisplayAlerts = False
'move worksheet to new workbook
Set newbook = Workbooks.Add(1) 'create new workbook object with only 1 sheet
newbook.Sheets(1).Name = "toDelete" 'name the worksheet
ws.Activate 'activate the temporary worksheet to be moved
Sheets(tempSheetName).Move Before:=newbook.Sheets(1)
newbook.Sheets("toDelete").Delete 'remove the blank sheet created in new workbook
'save as CSV file
fname = destPath & "/" & tempSheetName & ".csv"
newbook.SaveAs FileName:=fname, FileFormat:=xlCSV
newbook.Close
Application.DisplayAlerts = True
counter = counter + 1
loop
Application.ScreenUpdating = True
有没有办法自动退出这个"冻结"对话框并继续宏?我的代码有问题吗?理想情况下,这可以一起避免。
我唯一的另一个想法就是我的宏书上的excel书是在网络驱动器上,并且可能以某种方式让它以某种方式冻结?
修改
我在关闭它之后尝试添加set newbook = Nothing
,但它仍然在VBA项目管理器中保持打开状态。