У меня есть файл .xlsb, в котором я создаю твердо скопированную версию листа для истории.
Файл .xlsb (содержащий несколько листов с формулой и данными) составляет примерно 5 МБ.
Версия в твердой копии с простыми числами (без форматирования) составляет примерно 117 КБ.Когда я копирую также форматы, файл получает 92,5 Мб, и код выполняется почти 2 минуты, чтобы быть полностью выполненным.
Я использую следующий код:
Sub save_db()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim db As Worksheet
Dim db_file As Workbook
Set db = ThisWorkbook.Worksheets("Datenbank")
Set db_file = Workbooks.Add
db.UsedRange.Copy
db_file.Sheets(1).Range("A1").PasteSpecial xlValues
db_file.Sheets(1).Range("A1").PasteSpecial xlFormats
db_name = "DB_" & CStr(Date) & ".xlsx"
db_file.SaveAs ("User\DB_Achieve\" & db_name)
db_file.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub