|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.02.2012, 21:34 | #1 |
Пользователь
Регистрация: 27.02.2012
Сообщений: 20
|
Цикл в столбце и запись в файл
Добрый день!
Подскажите, пожалуйста, как можно задать цикл или отбор в столбце. У меня написан макрос, который принимает файлы с кодами, и копирует их в другую книгу. Мне нужно сделать отбор по коду, если код = 103, то записывать в одну книгу, а все остальные строчки с другими кодами(не равными 103) записывать в другую книгу. Подскажите как можно это сделать? |
27.02.2012, 21:56 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Добрый день.
По делу пока разбираться некогда, но вот одну ошибку в коде заметил: Код:
Код:
WSh.Range("A1:E1166") - т.е. лишних 5 тысяч ячеек просматривается! Я думаю, чтоб всё не ломать/переделывать, нужно в конец кода по сбору файлов добавить фильтр собранного по коду 103, копирование/перенос отобранного в новую книгу, удаление отобранного. Например, вызовите такой код после импорта файлов: Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 27.02.2012 в 22:11. |
01.03.2012, 19:38 | #3 |
Пользователь
Регистрация: 27.02.2012
Сообщений: 20
|
Посмотрите пожалуйста что я делаю не так. Как сделать разделение на два файла?
|
01.03.2012, 21:06 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Добавил (и чуть подправил - у меня на 2007 в той редакции не хотело работать) вызов в макрос CollectAllClients().
Новая книга создаётся без шапки и не сохраняется. Если нужна шапка - добавьте её копирование или создание до строк rr.Copy Workbooks.Add.Sheets(1).[a1] и тут вместо [a1] укажите ячейку под шапкой. Вернее Workbooks.Add.Sheets(1) нужно вынести до копирования и рисования шапки. Типа Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
02.03.2012, 09:27 | #5 |
Пользователь
Регистрация: 27.02.2012
Сообщений: 20
|
у нас везде стоит офис 2003. и куда у вас исчезают строчки с кодом 103?
Код 103 записывается в другую книгу без названия, и нужно указывать где её сохранить. Допустим это можно поправить. Книга без 103 кода содержаит 6 столбцом с перемещаемыми действиями, а книга с 103 кодом содержит 4 столбца без перемещаемых действий. Наверно не правильный порядок? Мы должны принять данные из файла в таком виде - в каком они есть, а потом уже при передачи разделять 103 и остальные виды на разные файлы. как это сделать? Последний раз редактировалось Любовь87; 02.03.2012 в 11:25. |
03.03.2012, 14:43 | #6 |
Пользователь
Регистрация: 27.02.2012
Сообщений: 20
|
Модуль 1 надо оставить без изменения, а в модуле 2 добавить сохранение в одну книгу строчки с кодом 103, а влругую книгу остальные строчки , файлы по структуре должны быть одинаковы, отличаться только названием
|
05.03.2012, 11:29 | #7 |
Пользователь
Регистрация: 27.02.2012
Сообщений: 20
|
подскажите пожалуйста, как это можно осуществить?
|
05.03.2012, 11:52 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Вы же сами просили:
"если код = 103, то записывать в одну книгу, а все остальные строчки с другими кодами(не равными 103) записывать в другую книгу." Так и сделано - все коды 103 в другой книге, поищите внимательнее в открытых книгах. Только там нет шапки и красоты - только данные. И эта книга ещё не сохранена! Ну а чтоб сильно не ломать код, я сделал как и описал выше - просто после импорта отбираю фильтром (Sub Perenos()) эти коды в новую книгу. Впрочем, я повторяюсь... всё это уже сказано выше. А на счёт модуля2 - если переносить нужно в нём, то уберите/отключите выполнение кода Sub Perenos() в первом модуле, а во втором перед переносом (который Вы уже добавили) нужно снять защиту листа. Т.е. Ваш вариант в DBF.zip работает, нужно всего лишь добавить в код одну строку перед переносом: ThisWorkbook.Worksheets("ОПС-2").Protect "eagc", False ну и возможно затем нужно заблокировать лист назад.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 05.03.2012 в 12:06. |
19.03.2012, 15:51 | #9 |
Пользователь
Регистрация: 27.02.2012
Сообщений: 20
|
Помогите, пожалуйста, доработать.
Мне нужно чтобы в папку DBF1 записывались два файла (листа): 1) с названием сдельная21C11.2011.xls, где была бы шапка и только строчки с кодом 102 2) с названием сетевая21C11.2011.xls, где была бы шапка и строчки без кода 102 |
22.03.2012, 08:15 | #10 |
Пользователь
Регистрация: 27.02.2012
Сообщений: 20
|
Помогите найти ошибку в переносе, у меня не получается создание другой книги с перенесёнными строчками. Книга с листом вообще не создаётся
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
добавить символ в каждую запись в столбце | andrei186 | SQL, базы данных | 2 | 28.10.2011 13:23 |
Цикл, запись результат в ячейки | bruce_lee | Microsoft Office Excel | 4 | 06.10.2010 16:08 |
последняя запись в столбце | ALEKS2008 | Microsoft Office Excel | 3 | 18.06.2010 13:29 |