Войти

Показать полную графическую версию : Создание файлов *.xls из VBA Excel.я


Bob7
06-07-2004, 13:20
Доброго Вам дня! ;))
В таблице есть две колонки в первой имена файлов во второй имена листов к этим файлам (с разным количеством листов)... Вручную эти файлы создавать ... их около 100 в каждом в среднем 5-7 листов...
В цикле от 1 до 100 (цикл от 1 до 5(7) создать нужное кол-во листов с нужными именами) создать книгу...   мож кто чего-то лучше посоветует (если можно на VBA)?

hasherfrog
06-07-2004, 14:17
Привет, Bob7
Макрос для твоей задачи такой:
Sub Macro1()
i = 1
While ThisWorkbook.Sheets(1).Cells(i, 1) <> ""

 Workbooks.Add
 j = 2
 While ThisWorkbook.Sheets(1).Cells(i, j) <> ""
   Sheets.Add
   Sheets("Sheet" + Format(j + 2)).Name = ThisWorkbook.Sheets(1).Cells(i, j)
   j = j + 1
 Wend

 Sheets("Sheet1").Select
 ActiveWindow.SelectedSheets.Delete
 Sheets("Sheet2").Select
 ActiveWindow.SelectedSheets.Delete
 Sheets("Sheet3").Select
 ActiveWindow.SelectedSheets.Delete

 ActiveWorkbook.SaveAs Filename:= _
     "C:\Documents and Settings\TEMP\Мои документы\" + ThisWorkbook.Sheets(1).Cells(i, 1) + ".xls", FileFormat:= _
     xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
     , CreateBackup:=False

 ActiveWindow.Close
 i = i + 1

Wend
End Sub

Макрос надо запускать из файла типа
Имя_файла_1 Имя_страницы_1 Имя_страницы_2 ...
Имя_файла_2 Имя_страницы_1 Имя_страницы_2 Имя_страницы_3 ...
Имя_файла_3 Имя_страницы_1 ...
Имя_файла_4 Имя_страницы_1 Имя_страницы_2 ...




© OSzone.net 2001-2012