| 
    
            
         
         | 
    
  | 
Разрезать большой Excel-файл с кучей типовых ТОРГ12 по одной | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Злопчинский    
     18.06.18 
            ✎
    16:19 
 | 
         
        Есть боольшущуий файл Эксель, в котором подряд "напечатаны" типовые ТОРГ12 без всяких разделеителей, все на одном листе.
 
        Надо - нарезать каждую торг12 в отдельный файл, типа 1. Стать на верхнюю левую ячейку файла: Строка-Старт 2. Вниз на 1 строку. 2. Найти дальше (со второй строки) "Унифицир", стать на предыдущую строку: Строка-финиш 3. Вырезать со строк-старт до строки-финиш в отдельный файл, имя файла взять из ячейки СтрокаСтарт+19, Колонка=13 (номердок в торг12). ..повторитть пока файл не кончится. допоможите, кому не в лом макросом, полагаю что достаточно просто, но не владею... а прим еры все мутные - режут по строкам..  | 
|||
| 
    1
    
        anatoly    
     18.06.18 
            ✎
    16:22 
 | 
         
        а почему бы не загрузить в ТабДок и уже в нем порезать - и сохранить куда и как надобно?
 
        или... тебе же это наверное еще и для 7.7 надо?? ))  | 
|||
| 
    2
    
        trdm    
     18.06.18 
            ✎
    16:26 
 | 
         
        Обработай 1Сом. Делов то, пробежаться по экеловскому листу и настрогать новых.     
         | 
|||
| 
    3
    
        trdm    
     18.06.18 
            ✎
    16:28 
 | 
         
        Имеется ввитду сам файл не трогать, а просто поскидывать в другие файлы.     
         | 
|||
| 
    4
    
        trdm    
     18.06.18 
            ✎
    16:33 
 | 
         
        Чего не хватает?     
         | 
|||
| 
    5
    
        Злопчинский    
     18.06.18 
            ✎
    16:33 
 | 
         
        (2) Если ты мне дашь 1Сные команды обрабьотки ЭКСЕЛЬНЫХ файлов - то не вопрос.
 
        мне разницы нет - я ВБА не владею - поэтом что в 1Се, что в макросе - один хрен. Владел бы - давно бы сделал...  | 
|||
| 
    6
    
        Злопчинский    
     18.06.18 
            ✎
    16:35 
 | 
         
        Sub Макрос1()
 
        ' ' Макрос1 Макрос ' Макрос записан 18.06.2018 (progadmin) ' ' Range("A2").Select Cells.Find(What:="Унифи", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate Range("AN55").Select //ВОТ ЗДЕСЬ КАК_ТО ЗАДАТЬ диапазон ДО НАЙДЕННОЙ СТРОКИ Range(Selection, Cells(1)).Select Selection.Cut Workbooks.Add ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:="ЗдесьПуть"+ТУТСЧЕТЧИКНАКРАЙНИЙСЛУЧАЙ+".xls", _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close Selection.Delete Shift:=xlUp End Sub  | 
|||
| 
    7
    
        Злопчинский    
     18.06.18 
            ✎
    16:59 
 | 
         
        Ап     
         | 
|||
| 
    8
    
        trdm    
     18.06.18 
            ✎
    17:01 
 | 
         
        ну типа:
 
        
     | 
|||
| 
    9
    
        Garykom    
     гуру 
    18.06.18 
            ✎
    17:15 
 | 
         
        (5) В 8-ке эти команды встроены прикинь!     
         | 
|||
| 
    10
    
        Злопчинский    
     18.06.18 
            ✎
    17:21 
 | 
         
        (9) (8) не помогло. нарезки не вижу. разбираться мутно.
 
        в (6) - два оператора поправить, блин...  | 
|||
| 
    11
    
        trdm    
     18.06.18 
            ✎
    18:11 
 | 
         
        (10) у тебя там нарушение технологии. не надо     Selection.Cut
 
        нельзя трогать исходные данные. vba не моя стихия  | 
|||
| 
    12
    
        Djelf    
     18.06.18 
            ✎
    18:16 
 | 
         
        (0) А почему не Йокселем?     
         | 
|||
| 
    13
    
        VS-1976    
     18.06.18 
            ✎
    18:20 
 | 
         
        (6) Это нужно выкинуть :)     
         | 
|||
| 
    14
    
        VS-1976    
     18.06.18 
            ✎
    20:03 
 | 
         
        (0) Сколько платит студент за решение? :)     
         | 
|||
| 
    15
    
        Злопчинский    
     18.06.18 
            ✎
    20:14 
 | 
         
        (11) да пофиг исходные данные, файл в бэкапе есть     
         | 
|||
| 
    16
    
        Злопчинский    
     18.06.18 
            ✎
    20:15 
 | 
         
        (14) тарелка супа. 500.
 
        макрос в экселе.  | 
|||
| 
    17
    
        Злопчинский    
     18.06.18 
            ✎
    20:47 
 | 
         
        (14) Ни - и что?     
         | 
|||
| 
    18
    
        VS-1976    
     18.06.18 
            ✎
    21:29 
 | 
         
        (17) Давай свой файл, для тестов выложи куда нибудь сделаю     
         | 
|||
| 
    19
    
        Сияющий в темноте    
     18.06.18 
            ✎
    22:23 
 | 
         
        делим задачу на две,поиск началп нскладной и копирование часли листа в другой со всем форматированием     
         | 
|||
| 
    20
    
        Злопчинский    
     18.06.18 
            ✎
    22:38 
 | 
         
        (19) мне не нужно в другой лист. мне в отдельный файл.     
         | 
|||
| 
    21
    
        Злопчинский    
     18.06.18 
            ✎
    22:39 
 | 
         
        (18) http://transfiles.ru/3fwhr
 
        хочется поиметь три отдельных файлика (допустим в той же папке что и исходный файл), имена файликов - из НомерДок  | 
|||
| 
    22
    
        VS-1976    
     18.06.18 
            ✎
    22:41 
 | 
         
        (21) Ок. Сейчас накидаю     
         | 
|||
| 
    23
    
        Tateossian    
     18.06.18 
            ✎
    22:43 
 | 
         
        (0) Сохранить в xlsx, открыть как xml и прогнать через xslt.     
         | 
|||
| 
    24
    
        Злопчинский    
     18.06.18 
            ✎
    23:12 
 | 
         
        (23) я даже такого умного слова как xslt не знаю...     
         | 
|||
| 
    25
    
        tesseract    
     18.06.18 
            ✎
    23:16 
 | 
         
        (24) Ок тогда 2к.     
         | 
|||
| 
    26
    
        Злопчинский    
     18.06.18 
            ✎
    23:26 
 | 
         
        (25) фиг вам, я уже переписал загрузку из одного большого файла... дорога ложка к обеду...
 
        (соглашение с VS-1976 14-18 остается в силе)  | 
|||
| 
    27
    
        tesseract    
     18.06.18 
            ✎
    23:28 
 | 
         
        (26) Вот как Бабло производительность повышает.     
         | 
|||
| 
    28
    
        VS-1976    
     18.06.18 
            ✎
    23:41 
 | 
         
        (26) Куда скинуть результат?     
         | 
|||
| 
    29
    
        VS-1976    
     18.06.18 
            ✎
    23:45 
 | 
         
        (28) Отправил на почту посмотри     
         | 
|||
| 
    30
    
        VS-1976    
     18.06.18 
            ✎
    23:52 
 | 
         
        Забыл сохранение файла. Сейчас дорисую     
         | 
|||
| 
    31
    
        Злопчинский    
     18.06.18 
            ✎
    23:56 
 | 
         
        Ага, и не открывать их - а то от тысячи открытых файликов\окошек - я думаю эксель сдохнет     
         | 
|||
| 
    32
    
        Злопчинский    
     18.06.18 
            ✎
    23:56 
 | 
         
        (30) сохранение под НомерДок, ок?     
         | 
|||
| 
    33
    
        VS-1976    
     19.06.18 
            ✎
    00:23 
 | 
         
        Все сделал. Каждая книга после сохранения закрывается. Лови в почте     
         | 
|||
| 
    34
    
        Злопчинский    
     19.06.18 
            ✎
    01:30 
 | 
         
        Все конечно зашибись... Скрипт вроде как отработал... Но сервак после него лег... На тулбаре и на рабочем столе появилось кучу диалоговых окон\панелек свернутых от кучи программ которые висят на серваке, в т.ч. и которые в трее. Что-то не так с ресурсами окон. Видимо, моргание экселя - стопитьсот раз при создании\сохранении - привело к исчерпанию каки-то там виндявых ресурсов. так что сервак в ауте, работу забрать не могу, полная жпс.. ;-)     
         | 
|||
| 
    35
    
        Злопчинский    
     19.06.18 
            ✎
    01:47 
 | 
         
        аааа, хрен вам а не побороть Сергея Михайловича... на сервак не достучаться по GUI, по RDP не коннектится, но залез с другого сервака через расшареную папку... работу стянул, сервак админ перегрузит... настучит по башке, конечно ;-)
 
        вот и урок заодно - нефиг экспериментировать... а вба - вот вам и вба - макрос 30 строк, а гуй умер...  | 
|||
| 
    36
    
        Tateossian    
     19.06.18 
            ✎
    02:07 
 | 
         
        (35) Скинь xlsx, чуть позже сделаю тебе через xslt.     
         | 
|||
| 
    37
    
        Tateossian    
     19.06.18 
            ✎
    02:08 
 | 
         
        Можно текстовое содержимое, а не как файл. Только на отдельном листе напиши как разделять файло.     
         | 
|||
| 
    38
    
        Злопчинский    
     19.06.18 
            ✎
    02:15 
 | 
         
        (36) тестовый файлик можно забрать в (21)
 
        (в оригинальном файле под 50 тыс строк, под 800 отдельных тОРГ12)  | 
|||
| 
    39
    
        Tateossian    
     19.06.18 
            ✎
    02:16 
 | 
         
        (38) Пофих, у меня i7 заряженный восьмого поколения:)     
         | 
|||
| 
    40
    
        Злопчинский    
     19.06.18 
            ✎
    02:16 
 | 
         
        Админ бдит (хороший у меня админ!), сервак в норме.     
         | 
|||
| 
    41
    
        Злопчинский    
     19.06.18 
            ✎
    02:17 
 | 
         
        (39) ну и фигли.. быстродействие оно конечно хорошо, но скрипт положил гуй... ;-) может и твоя приблуда аналогично...     
         | 
|||
| 
    42
    
        Tateossian    
     19.06.18 
            ✎
    02:35 
 | 
         
        (41) Сделай файл, пожалуйста, где будет два торга. Или больше. Я разделители не вижу.     
         | 
|||
| 
    43
    
        Злопчинский    
     19.06.18 
            ✎
    03:49 
 | 
         
        (42) смотри в (21) - это живой файл.
 
        Никаких спецразделителей нет. очередная ТОРГ12 начинается с шапки-надписи "Унифицированная форма"  | 
|||
| 
    44
    
        craxx    
     19.06.18 
            ✎
    04:00 
 | 
         
        (0)Йокселем запросто     
         | 
|||
| 
    45
    
        Злопчинский    
     19.06.18 
            ✎
    05:12 
 | 
         
        (44) запросто не запросто, а пока только более-менее рабочий макрос (после которого сервак перегружать надо) и куча советов йокселями всякими... было бы время - я бы не спрашивал.. ;-)
 
        вообщем, пока тут пилили я выпилил чохом обработку большого файла... но разделение все равно надо... пусть будет...  | 
|||
| 
    46
    
        Вася Теркин    
     19.06.18 
            ✎
    05:47 
 | 
         
        (10) "разбираться мутно." Ну ты и наглец...     
         | 
|||
| 
    47
    
        VS-1976    
     19.06.18 
            ✎
    06:55 
 | 
         
        В скрипте отключается переоесовка экрана для быстродействия. Скрипт работает при этом.     
         | 
|||
| 
    48
    
        Злопчинский    
     27.06.18 
            ✎
    22:56 
 | 
         
        вознаграждение остается за мной, то есть выплачу как только дома появлюсь.
 
        решение по коду есть, но есть вариант утечки ресурсов при исполнении скрипта, что ведет к неработоспособности гуя  | 
|||
| 
    49
    
        Кирпич    
     28.06.18 
            ✎
    09:06 
 | 
         
        (45) можно exe запилить, который, никого не напрягая, будет за 5 секунд делать эту работу и без екселя     
         | 
|||
| 
    50
    
        spectre1978    
     28.06.18 
            ✎
    09:16 
 | 
         
        (48) может, там просто книгу очередную сохранённую не закрывают после сохранения? 800 открытых книг Эксель - это да,сурово. Не каждое железо выдержит     
         | 
|||
| 
    51
    
        bolder    
     28.06.18 
            ✎
    09:25 
 | 
         
        (50) В (33) пишет что закрывает.
 
        (49) Много что можно,если не все.  | 
|||
| 
    52
    
        VS-1976    
     28.06.18 
            ✎
    09:26 
 | 
         
        (50) Я написал что сохраняется без вопросов замещая книгу с таким же наименованием. Скорее всего в конце не нужно включать диалоги ( чтобы не вывалил массу сообщений ). А так GUI не перерисовываются для ускорения работы, и если перерисовывать экран будет выглядеть как буд-то excel завис. Но на самом деле работает скрипт, просто GUI-вывод подавлен. перерисовка будет только по окончанию работы.     
         | 
|||
| 
    53
    
        spectre1978    
     28.06.18 
            ✎
    18:15 
 | 
         
        (49) без екселя не факт, что удастся нормально перенести форматирование.
 
        (51) по факту там могли ошибки не обработать. И в результате оно намусорило до падения сервака. Вообще такие вещи без проверки запускать на серваках - это экстрим, я бы сказал :)  | 
|||
| 
    54
    
        Сияющий в темноте    
     29.06.18 
            ✎
    11:08 
 | 
         
        На момегт закрытия файла желательнл включатт гуи,так как при закрытии должен обновиться список файлов,а пока это не сделано,файл может оставаться в памяти даже если закрыт     
         | 
|||
| 
    55
    
        Злопчинский    
     15.11.18 
            ✎
    19:20 
 | 
         
        VS-1976 кинь в cкайп Zlopun контакт хоть какой, связаться...     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |