Excel. Копирование диапазона в другой файл
Всем привет!
Нужна ваша помощь.
Есть такая задача:
Нужно часто копировать выделенный диапазон из одной книги в другую с сохранением форматирования. Не нашёл как это делать стандартными инструментами, но нагуглил макрос:
Sub ExportRangetoExcel()
'Update 20130916
Dim wb As Workbook
Dim saveFile As String
Dim WorkRng As Range
Dim address As String
Dim defult As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
defult = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Set wb = Application.Workbooks.Add
Application.SheetsInNewWorkbook = defult
WorkRng.Copy
wb.Worksheets(1).Paste
address = Replace(WorkRng.address, ":", "-")
address = Replace(address, "$", "")
address = Replace(address, ".", "")
saveFile = Application.GetSaveAsFilename(InitialFileName:=address, fileFilter:="Excel Workbooks (*.xlsx),*.xlsx")
wb.SaveAs Filename:=saveFile
wb.Close
Application.CutCopyMode = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Он делает именно то, что нужно, но не сохраняет форматироание.
Нашёл метод Range.PasteSpecial, но как его здесь правильно применить так и не разобрался.
Вопрос к знатокам VBA: что сделать, чтобы макрос вставлял выделенный диапазон с сохранением форматирования?