保存宏添加另一个工作簿

时间:2015-03-25 20:20:50

标签: excel excel-vba vba

我有一段修改过的代码,可以将宏保存到指定的文件夹中。它工作得很好,但是在完成后会打开一个空白的工作簿。我不希望这种情况发生。我知道它必须与以下

做点什么
  

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

1 个答案:

答案 0 :(得分:1)

您的代码正在创建新工作簿并为该工作簿设置变量:

Set wb = Workbooks.Add

然后它激活当前的工作簿,将其带到前台:

ThisWorkbook.Activate

然后,由于某种原因,立即将新的空白工作簿放在前面和中间位置:

wb.Activate

然后检查某个文件是否打开。如果是,它会关闭它(不知道这是什么,因为我们不知道UserInput是什么。无论如何,它关闭该文件,然后将新的空白工作簿保存在它的顶部。空白的工作簿。

这是你想要的行为吗?如果要关闭这个新保存的空白工作簿,那么只需执行...

wb.close 

......所有这一切的结尾。但是,老实说,整件事似乎有点奇怪。