VBA将除汇总表外的其他分表导出为单独的工作簿,且更新后屏幕不会闪烁。
时间: 2023-12-03 10:42:10 浏览: 80
以下是一个示例代码,可以实现你的需求。需要注明的是,代码中的“汇总表”、“分表”等名称应根据实际情况进行修改。
```vb
Sub ExportSheets()
Application.ScreenUpdating = False '禁用屏幕更新,避免闪烁
Dim sheetName As String
Dim newBook As Workbook
Dim currentBook As Workbook
Set currentBook = ThisWorkbook '当前工作簿
For Each ws In currentBook.Worksheets
sheetName = ws.Name
If sheetName <> "汇总表" Then '不包括汇总表
Set newBook = Workbooks.Add '创建新的工作簿
ws.Copy Before:=newBook.Sheets(1) '将分表复制到新工作簿
newBook.SaveAs Filename:=sheetName & ".xlsx" '保存新工作簿
newBook.Close SaveChanges:=True '关闭新工作簿,并保存更改
End If
Next
Application.ScreenUpdating = True '启用屏幕更新
End Sub
```
在执行该代码之前,需要先打开需要处理的工作簿。运行代码后,除了名为“汇总表”的工作表外,其他工作表将会被导出为单独的工作簿,保存在原文件所在的文件夹中。
阅读全文