|  |   |   | 
  
|  | v8: Как разбить файл  Excel на несколько листов? | ☑ | 
    
        | 0
    
        xenos   26.11.13✎ 14:40 | 
        Есть фал Exel на 50 000 записей, надо его разбить на несколько страниц.
 Т.е. перебираются до ходит до записи с определенным значением, и те строки которые он прошел копируют на отдельный лист.
 
 И таких значений несколько.
 
 Как такое лучше сделать?
 |  | 
    
        | 1
    
        shuhard   26.11.13✎ 14:43 | 
        (0) ADODB + ADOX     |  | 
    
        | 2
    
        dk   26.11.13✎ 14:49 | 
        имхо проще листов надублировать и удалить лишнее     |  | 
    
        | 3
    
        Aprobator   26.11.13✎ 15:06 | 
        надублировать листов с 50000 записями?     |  | 
    
        | 4
    
        dk   26.11.13✎ 15:09 | 
        ну больше 256 не получится вроде )
зависит от того надо форматирование сохранять или плевать
 можно копировать после удаления верхних строк
 |  | 
    
        | 5
    
        xenos   26.11.13✎ 16:51 | 
        Может кому понадобится макрос
 
 Sub ??????2()
 
 PervajaStroka = 1
 PoslednjajaStroka = 6906
 NachStr = 1
 
 For N = PervajaStroka To PoslednjajaStroka + 1
 
 TxtZnach = Trim(Sheets("????4").Cells(N, 1).Text)
 
 
 
 If TxtZnach = "62/????" Or TxtZnach = "62/???" Or N = PoslednjajaStroka + 1 Then
 
 
 VydelitStroki = Trim(Str(NachStr)) + ":" + Trim(Str(N - 1))
 
 Sheets("????4").Select
 Rows(VydelitStroki).Select
 Application.CutCopyMode = False
 Selection.Copy
 Sheets.Add After:=Sheets(Sheets.Count)
 ActiveSheet.Paste
 
 NachStr = N
 End If
 
 Next N
 
 End Sub
 
 
 PervajaStroka = 1 - первая строка из образовываемых строк
 PoslednjajaStroka = 6906 последняя строка из образовываемых строк
 
 Sheets("????4")=Sheets("Лист4") - имя листа где находятся строки
 
 TxtZnach = "62/????" Or TxtZnach = "62/???" - значения при нахождении которых копируются строки
 |  | 
        Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.