|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
04.01.2009, 08:44 | #1 |
Пользователь
Регистрация: 03.01.2009
Сообщений: 20
|
как из одного одной книги экспортировать данные на другой лист
Знания в работе с excel на зачаточном уровне, много рыл на форуме, но либо темы подходящей не нашел, либо не понял как сделать.
Есть две книги excel одна выгружается периодически, период от одного дня до недели из бухгалтерской программы, это оборотно-сальдовая ведомость по дебиторам предприятия. Вторую веду я отслеживая платежи по месяцам, мне необходимо чтобы данные из книги с оборотно сальновой ведомостью копировались в мою книгу в столбцы соответствующие месяцу из столбца дебетоские обороты 1 книги в столбец начислено второй книги и соответственно из столбца кредиторски обороты 1 книги в столбец оплачено второй книги. При этом необходимо чтобы я мог корректировать на в какие столбцы переносятся данные в соотвентсвии с месяцами. Задача усложнена тем что в оборотной ведомость дебиторы могут быть указаны несколько раз в зависимости от наличия у них различных платежей, а мне нужна только общая задолженность дебитора. в обоих таблицах есть совпадающие данные это счет дебитора нужно при чтобы макрос или формула сверяла сведения из оборотной ведомости книга 1 и при совпадении счетов копировались данные в книгу два из колонки дебиторские обороты (F) в колонку начислено соответствующего месяца из колонки кредиторские обороты (G) в колонку оплачено. Кроме того было бы совсем отлично если бы при сверке данных таблиц и обнаружении отсутсвия в таблице 2 счета дебитора при появлении нового дебитора макрос мог копировать сведения о новом дебиторе в таблицу дебиторской задолженности в соответствии с номером счета дебитора |
04.01.2009, 10:14 | #2 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Основную суть задачи, хоть и не без труда, вроде понял...
Но нужны уточнения: 1) Макрос, как я понимаю, будет храниться в книге "1дз". Но, поскольку он будет брать данные из другой книги ("оборотка"), ему (макросу) надо как-то найти эту книгу на компьютере. Для этого надо знать, где находится файл (искать той же папке, что и "1дз", либо в макросе должен быть прописан полный путь к папке), а также знать имя этого файла. 2) Соответственно, надо знать, какие листы в этих файлах обрабатывать (хорошо, если количество листов в книгах постоянное, или названия листов не меняются) Можно, конечно, сделать так, что макрос сам будет запрашивать, где взять тот или иной файл. 3) Цитата:
Если эта дата всегда присутствует в этом файле, то можно на основании неё определять столбец. 4) Если в оборотке к дебитору относятся 3 строки: Цитата:
|
||
04.01.2009, 11:34 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Вот что пока получилось (см. вложение).
Для запуска макроса нажимаем на желтую кнопочку в книге "1дз" Макрос при запуске попросит выделить часть столбца, в ктоорый требуется занести данные. Выделите, к примеру, ячейку Y5. Цветовое выделение участвующих в обработке ячеек сделано лишь для наглядности. Красным цветом помечены не найденные в оборотной ведемости позиции. |
04.01.2009, 11:52 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Я последнюю часть задания забыл прочитать
поэтому в макросе реализовано не всё. В ближайшее время исправлю И ещё: Цитата:
Если из "1дз" в "оборотку", то данных в "1дз" явно недостаточно. Если из оборотки в 1дз, то чем заполнять предыдущие столбцы? (добавлено) Вот теперь понятно. Посмотри пока такой вариант. А добавление строк в 1дз сейчас реализую.
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 04.01.2009 в 13:11. |
|
04.01.2009, 12:14 | #5 | |
Пользователь
Регистрация: 03.01.2009
Сообщений: 20
|
Цитата:
Посмотрел таблицу которую вы сделали, почти то что нужно. Есть вопросы макрос при запуске переносит сведения только из столбца F оборотки, а необходимо чтобы переносил столбцы F и G кроме того в таблице 1дз счета количество счетов контрагентов может быть больше и поэтому если их постоянно выделять красным цветом то в начале месяца поле может быть красным красно, так как долги оплачены и в оборотке не отражаются. А вот как бы сделать так чтобе если в оборотке появился новый контрагент он автоматически добавлялся в таблицу 1дз т.е. добавлялась бы строка куда бы переносились сведения о новом контрагенте из граф В и С листа книги оборотка в графы Аи В книги 1дз соответственно. Опять нагородил огород, надеюсь поймете |
|
04.01.2009, 12:23 | #6 | |
Пользователь
Регистрация: 03.01.2009
Сообщений: 20
|
Цитата:
Спасибо за быстрые ответы. Скайп есть попробую подключиться |
|
04.01.2009, 12:54 | #7 |
Пользователь
Регистрация: 03.01.2009
Сообщений: 20
|
Пытаюсь применить Ваш макрос к реальной таблице, пишет готово при выполнении однако сведения не вставляются :0
|
04.01.2009, 13:10 | #8 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Не увидев Вашего файла, найти причину этого явления весьма сложно. Вот новый вариант макроса. (с добавлением строк) ВНИМАНИЕ: В файле 1дз должна присутствовать пустая строка с формулами в конце списка (как 189-я строка в примере - прописаны в ней только формулы) На основе этой пустой строки формируются новые. (вставляются перед ней) Первые ячейки новых строк выделены цветом. Далее. В макросе присутствуют две строки: 'Set СтолбецДляВставки = Application.InputBox(prompt:=msg1, Type:=8) Set СтолбецДляВставки = ThisWorkbook.Worksheets(1).[y7] Одна из этих строк должна быть закомментирована Первая запрашивает номер столбца, а вторая назначает рабочим столбец Y (так удобнее при отладке макроса) При запуске макроса книга ОБОРОТКА должна быть открыта. (и называться файл должен именно так)
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 04.01.2009 в 15:15. |
|
04.01.2009, 16:17 | #9 |
Пользователь
Регистрация: 03.01.2009
Сообщений: 20
|
Далее.
В макросе присутствуют две строки: 'Set СтолбецДляВставки = Application.InputBox(prompt:=msg1, Type:=8) Set СтолбецДляВставки = ThisWorkbook.Worksheets(1).[y7] Одна из этих строк должна быть закомментирована Первая запрашивает номер столбца, а вторая назначает рабочим столбец Y (так удобнее при отладке макроса) можно пояснить с макросами никогда не работал как будет работать формула для января и так далее? в ней нужно будет что-то менять? Ведь январь будет в другом столбце не Y |
04.01.2009, 16:59 | #10 |
Пользователь
Регистрация: 03.01.2009
Сообщений: 20
|
Разобрался со своим файлом макрос заработал, большое спасибо.
Вопрос, Будет он теперь работать на другие месяцы? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
снятие пароля с книги/листа из другой книги? | Bezdar | Microsoft Office Excel | 3 | 25.12.2008 11:59 |
Вставить данные из одного листа (таблицы) в другой | kartol | Microsoft Office Excel | 30 | 11.08.2008 10:43 |
Как мне из формы одного проекта запустить другой | Diimka | Помощь студентам | 2 | 13.12.2007 21:41 |
Как экспортировать данные | Малявка | Microsoft Office Excel | 5 | 20.10.2007 11:53 |