Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Создание файлов *.xls из VBA Excel.я (http://forum.oszone.net/showthread.php?t=29613)

Bob7 06-07-2004 13:20 204940

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

hasherfrog 06-07-2004 14:17 204941

Привет, 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 ...



Время: 12:47.

Время: 12:47.
© OSzone.net 2001-