Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 创建新工作簿并保存在文件夹位置_Vba_Excel - Fatal编程技术网

Vba 创建新工作簿并保存在文件夹位置

Vba 创建新工作簿并保存在文件夹位置,vba,excel,Vba,Excel,我有下面的代码片段,它复制了三个特定的工作表,并将它们放在一个新的工作簿中,该工作簿保存在一个文件夹中。但是,每次运行将创建和保存大约20个不同的工作簿。但是,应该保存的特定工作表在过程中不能保持隐藏状态,每次我都必须使它们可见,并在保存后再次将其隐藏。这当然会反映在用户的屏幕上,用户可以观察纸张的出现和消失。是否有可能在保存前避免纸张的外观 'make the sheets visible before saving Sheets("Statement").Visi

我有下面的代码片段,它复制了三个特定的工作表,并将它们放在一个新的工作簿中,该工作簿保存在一个文件夹中。但是,每次运行将创建和保存大约20个不同的工作簿。但是,应该保存的特定工作表在过程中不能保持隐藏状态,每次我都必须使它们可见,并在保存后再次将其隐藏。这当然会反映在用户的屏幕上,用户可以观察纸张的出现和消失。是否有可能在保存前避免纸张的外观

       'make the sheets visible before saving
       Sheets("Statement").Visible = True
       Sheets("Current Run").Visible = True
       Sheets("Stock").Visible = True


     Sheets(Array("Statement", "Current Run", "Stock")).Copy
                ActiveWorkbook.SaveAs Filename:="C:\solved\" & ringi & "-" & date_from & "-" &    
      date_to & ".xlsx", Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
                ActiveWorkbook.Close SaveChanges:=False


      'hide them again

       Sheets("Statement").Visible = xlSheetVeryHidden
       Sheets("Current Run").Visible = xlSheetVeryHidden
       Sheets("Stock").Visible = xlSheetVeryHidden

在开始要保持“隐藏”的操作之前,请设置:

Application.ScreenUpdating = False
然后,一旦您完成了代码的这一部分,请不要忘记按如下方式将其还原:

Application.ScreenUpdating = True
不知道它对你有多好,但值得一试