Добрый день! подскажите!
Есть программа, которая генерит отчеты в EXCELе. В отчете много листов. Задача: сохранить каждый лист отчета в отдельном файле.
есть макрос:
Sub SplitWorkbook()
Dim ws As Worksheet
Dim DisplayStatusBar As Boolean
DisplayStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Sheets
Dim NewFileName As String
Application.StatusBar = "осталось рабочих листов: " & _
ThisWorkbook.Sheets.Count
If ThisWorkbook.Sheets.Count <> 1 Then
NewFileName = ThisWorkbook.Path & "\" & ws.Name & _
".xls"
ws.Copy
ActiveWorkbook.Sheets(1).Name = "Sheet1"
ActiveWorkbook.SaveAs Filename:=NewFileName
ActiveWorkbook.Close SaveChanges:=False
Else
NewFileName = ThisWorkbook.Path & "\" & ws.Name & _
".xls"
ws.Name = "Sheet1"
ThisWorkbook.SaveAs Filename:=NewFileName
End If
Next
Application.StatusBar = False
Application.DisplayStatusBar = DisplayStatusBar
Application.ScreenUpdating = True
End Sub
Я сделал так:
Создал книгу с макросом и разместил ее в XLSTART. таким образом пользователю необходимо зайти Сервис-макрос-Редактор Visual Basic и перетащить модуль с макросом из одной книги в другую, а затем выполнить макрос.
Но для пользователей этот способ оказался сложным...
Может кто подскажет более простой способ?
Заранее благодарен.