我有一段修改过的代码,可以将宏保存到指定的文件夹中。它工作得很好,但是在完成后会打开一个空白的工作簿。我不希望这种情况发生。我知道它必须与以下
做点什么workbooks.add
但是由于必须设置变量,有没有办法解决?哈哈,我是相当新的,我只是不想搞砸了。任何帮助,将不胜感激。提前致谢
无论如何,这是一段代码
Set wb = Workbooks.Add
Application.DisplayAlerts = False
ThisWorkbook.Activate
wb.Activate
If IsFileOpen("\\showdog\service\Service_job_PO\" & UserInput) Then
Workbooks(UserInput).Close SaveChanges:=False
wb.SaveAs "\\showdog\service\Service_job_PO\" & UserInput
Else
wb.SaveAs "\\showdog\service\Service_job_PO\" & UserInput
Application.DisplayAlerts = True
End If
答案 0 :(得分:1)
您的代码正在创建新工作簿并为该工作簿设置变量:
Set wb = Workbooks.Add
然后它激活当前的工作簿,将其带到前台:
ThisWorkbook.Activate
然后,由于某种原因,立即将新的空白工作簿放在前面和中间位置:
wb.Activate
然后检查某个文件是否打开。如果是,它会关闭它(不知道这是什么,因为我们不知道UserInput
是什么。无论如何,它关闭该文件,然后将新的空白工作簿保存在它的顶部。空白的工作簿。
这是你想要的行为吗?如果要关闭这个新保存的空白工作簿,那么只需执行...
wb.close
......所有这一切的结尾。但是,老实说,整件事似乎有点奇怪。