Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/создание отчета в желаемом формате из выделенного диапазона - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » создание отчета в желаемом формате из выделенного диапазона (Макросы/Sub)
создание отчета в желаемом формате из выделенного диапазона
koyaanisqatsi Дата: Среда, 01.06.2016, 21:12 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.

Задача состоит в том чтобы сообразить отчетик в нужном формате. Данные для отчетика могут браться из учета поступлений товара и учета накладных.

Я могу и ошибаться и возможно есть и другие варианты решения, но мне кажется что один из вариантов это выделение фрагмента с исходными данными и формирование отчета макросом.
Что подскажите по этой теме ?

В примере все столбцы которые должны взаимодействовать пометил одинаковыми цветами. (один двойной столбец это когда ожидается исправленная накладная. когда расходятся фактический вес товара и указанный в накладной. в отчете должна фигурировать цифра фактической приемки товара.)

Спасибо.
К сообщению приложен файл: 1_.xlsx(44Kb)


Сообщение отредактировал koyaanisqatsi - Среда, 01.06.2016, 21:14
 
Ответить
СообщениеЗдравствуйте.

Задача состоит в том чтобы сообразить отчетик в нужном формате. Данные для отчетика могут браться из учета поступлений товара и учета накладных.

Я могу и ошибаться и возможно есть и другие варианты решения, но мне кажется что один из вариантов это выделение фрагмента с исходными данными и формирование отчета макросом.
Что подскажите по этой теме ?

В примере все столбцы которые должны взаимодействовать пометил одинаковыми цветами. (один двойной столбец это когда ожидается исправленная накладная. когда расходятся фактический вес товара и указанный в накладной. в отчете должна фигурировать цифра фактической приемки товара.)

Спасибо.

Автор - koyaanisqatsi
Дата добавления - 01.06.2016 в 21:12
gling Дата: Среда, 01.06.2016, 22:07 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 325 ±
Замечаний: 0% ±

2010
Здравствуйте.
Цитата
формирование отчета макросом.
Думаю с таким расположением данных макрос будет не просто написать. Если упорядочить дополнительные столбцы, то можно попробовать сводной таблицей.
К сообщению приложен файл: 0143968.xlsx(57Kb)
 
Ответить
СообщениеЗдравствуйте.
Цитата
формирование отчета макросом.
Думаю с таким расположением данных макрос будет не просто написать. Если упорядочить дополнительные столбцы, то можно попробовать сводной таблицей.

Автор - gling
Дата добавления - 01.06.2016 в 22:07
koyaanisqatsi Дата: Среда, 01.06.2016, 22:32 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
gling, Спасибо за предложение. Такой вариант почти ничего не дает. хотя если других вариантов нет то наверно это проще чем руками делать. но из сводной прийдется всеравно желаемую таблицу руками делать.
 
Ответить
Сообщениеgling, Спасибо за предложение. Такой вариант почти ничего не дает. хотя если других вариантов нет то наверно это проще чем руками делать. но из сводной прийдется всеравно желаемую таблицу руками делать.

Автор - koyaanisqatsi
Дата добавления - 01.06.2016 в 22:32
sboy Дата: Четверг, 02.06.2016, 11:43 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 196
Репутация: 48 ±
Замечаний: 0% ±

Excel 2007
Добрый день.
А как вносятся исходные данные? копируются откуда-то или руками?

согласен с gling,
с таким расположением данных макрос будет не просто написать
 
Ответить
СообщениеДобрый день.
А как вносятся исходные данные? копируются откуда-то или руками?

согласен с gling,
с таким расположением данных макрос будет не просто написать

Автор - sboy
Дата добавления - 02.06.2016 в 11:43
koyaanisqatsi Дата: Четверг, 02.06.2016, 19:09 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
sboy, Я руками все вношу.
сначала ввожу цену из прайса и указываю сколько товара заказал по этой цене.
Когда приходит товар и накладная ввожу цифры из накладной сколько пришло и какая цена в накладной.
Таким образом я сразу понимаю не прислали ли нам меньше чем заказывал и верна ли цена.
Если при перевесе товара есть расхождение с накладной ввожу цифру фактически сколько пришло товара.
собственно все это есть в листе "исходные данные"
Примерно 5 фирм от кого получаем соответственно около пяти таких исходных данных два раза в неделю вводятся в ручную. ну от трех до пяти на самом деле. Такие дела.
На самом деле наверняка как-то можно оптимизировать чтобы итоговый результат делался автоматом или полуавтоматом. Но я не знаю каким образом надо исходные данные формировать чтобы было удобно делать из них финальные. Надо же чтобы еще и удобно было следить за накладными и приходом товара. Пока только это можно сказать удобно.
 
Ответить
Сообщениеsboy, Я руками все вношу.
сначала ввожу цену из прайса и указываю сколько товара заказал по этой цене.
Когда приходит товар и накладная ввожу цифры из накладной сколько пришло и какая цена в накладной.
Таким образом я сразу понимаю не прислали ли нам меньше чем заказывал и верна ли цена.
Если при перевесе товара есть расхождение с накладной ввожу цифру фактически сколько пришло товара.
собственно все это есть в листе "исходные данные"
Примерно 5 фирм от кого получаем соответственно около пяти таких исходных данных два раза в неделю вводятся в ручную. ну от трех до пяти на самом деле. Такие дела.
На самом деле наверняка как-то можно оптимизировать чтобы итоговый результат делался автоматом или полуавтоматом. Но я не знаю каким образом надо исходные данные формировать чтобы было удобно делать из них финальные. Надо же чтобы еще и удобно было следить за накладными и приходом товара. Пока только это можно сказать удобно.

Автор - koyaanisqatsi
Дата добавления - 02.06.2016 в 19:09
al-Ex Дата: Пятница, 03.06.2016, 13:23 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 53 ±
Замечаний: 20% ±

Excel 2010
я не знаю каким образом надо исходные данные формировать чтобы было удобно делать из них финальные
Общий принцип таков чтоб структура строк в таблице была по возможности однотипной.
В Вашем случае в строке должны быть все данные присущие одной позиции продукта.
Дата заказа
Поставщик
Продукт
Количество
Цена
Дата поставки
Накладная №
Количество в поставке
цена единицы продукта
НДС
сумма
оплата
ну и тд...
Тогда можно будет пользоваться автофильтром для выборок данных и по дате и по поставщику и по продукту, и по оплате.
Ну и простые макросы делать для автоматизации создания различного рода отчётов."
По Вашему листу с исходными данными как минимум несколько предложений есть:
1. столбец с датами. Каждая строка в вашем исходном листе должна быть помечена датой для этого используем например столбец "В" (это можно макросом "вставить новую строку с датой в столбце "B")
2. НДС. Параметр НДС нужно вносить в каждую строку полученного продукта например столбец "I" (тут выбор из выпадающего списка подойдёт)
3. Желательно еще ввести столбец где указан поставщик Например "С" (тут выпадающим списком удобно будет)
К сообщению приложен файл: prdv1.xlsx(50Kb)


Сообщение отредактировал al-Ex - Пятница, 03.06.2016, 13:52
 
Ответить
Сообщение
я не знаю каким образом надо исходные данные формировать чтобы было удобно делать из них финальные
Общий принцип таков чтоб структура строк в таблице была по возможности однотипной.
В Вашем случае в строке должны быть все данные присущие одной позиции продукта.
Дата заказа
Поставщик
Продукт
Количество
Цена
Дата поставки
Накладная №
Количество в поставке
цена единицы продукта
НДС
сумма
оплата
ну и тд...
Тогда можно будет пользоваться автофильтром для выборок данных и по дате и по поставщику и по продукту, и по оплате.
Ну и простые макросы делать для автоматизации создания различного рода отчётов."
По Вашему листу с исходными данными как минимум несколько предложений есть:
1. столбец с датами. Каждая строка в вашем исходном листе должна быть помечена датой для этого используем например столбец "В" (это можно макросом "вставить новую строку с датой в столбце "B")
2. НДС. Параметр НДС нужно вносить в каждую строку полученного продукта например столбец "I" (тут выбор из выпадающего списка подойдёт)
3. Желательно еще ввести столбец где указан поставщик Например "С" (тут выпадающим списком удобно будет)

Автор - al-Ex
Дата добавления - 03.06.2016 в 13:23
pechkin Дата: Пятница, 03.06.2016, 14:22 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 206
Репутация: 27 ±
Замечаний: 0% ±

2003
Здравствуйте! Вот посмотрите. Нашел ошибку Исправил
К сообщению приложен файл: 0804049.rar(28Kb)


Сообщение отредактировал pechkin - Пятница, 03.06.2016, 15:48
 
Ответить
СообщениеЗдравствуйте! Вот посмотрите. Нашел ошибку Исправил

Автор - pechkin
Дата добавления - 03.06.2016 в 14:22
koyaanisqatsi Дата: Суббота, 04.06.2016, 20:47 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
pechkin, Похоже что то что нужно. Спасибо огромное буду разбираться. Скорее всего будет работать как и хотелось.
Если все работает как надо то спасет от бестолковой рутинной работы переставления цифр из одной ячейки в другую ))))
PS: Нашел одну штуку. В отчете важно финальная чистая накладная. Это значит что ждем исправленную накладную сколько пришло на склад. Добавлю тогда столбец который будет в себя вбирать либо что пришло на склад по факту либо аутентичные данные из накладной. Тогда ваш отчет наверняка будет работать как надо. А так выглядит прям как надо.


Сообщение отредактировал koyaanisqatsi - Суббота, 04.06.2016, 20:50
 
Ответить
Сообщениеpechkin, Похоже что то что нужно. Спасибо огромное буду разбираться. Скорее всего будет работать как и хотелось.
Если все работает как надо то спасет от бестолковой рутинной работы переставления цифр из одной ячейки в другую ))))
PS: Нашел одну штуку. В отчете важно финальная чистая накладная. Это значит что ждем исправленную накладную сколько пришло на склад. Добавлю тогда столбец который будет в себя вбирать либо что пришло на склад по факту либо аутентичные данные из накладной. Тогда ваш отчет наверняка будет работать как надо. А так выглядит прям как надо.

Автор - koyaanisqatsi
Дата добавления - 04.06.2016 в 20:47
koyaanisqatsi Дата: Воскресенье, 05.06.2016, 12:34 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
pechkin,
Здравствуйте.
Подскажите пожалуйста какой ключ надо поменять чтобы сместить на одну колонку вправо диапазон просматриваемых исходных данных.

вставил столбец "Пришло на склад по факту"

Сначала искал в коде где указан этот ключ, но не нашел. Потом подумал что можно через двуссыл написать копию листа под ваш макрос с выбором нужной страницы но тоже не пошло не нашел в инете информации как это делается. (Хотел выбирать лист через выпадающий список.) Пока что в ступоре...



PS: Спасибо разобрался. Надо было удалить ненужные столбцы и добавить 1 в строке :
[vba]
Код
Sheets("Лист1").Cells(1, 2).Resize(41, 7).Value = Selection.Resize(41, 7).Value
[/vba]
К сообщению приложен файл: 2501803.xlsm(56Kb)


Сообщение отредактировал koyaanisqatsi - Воскресенье, 05.06.2016, 12:53
 
Ответить
Сообщениеpechkin,
Здравствуйте.
Подскажите пожалуйста какой ключ надо поменять чтобы сместить на одну колонку вправо диапазон просматриваемых исходных данных.

вставил столбец "Пришло на склад по факту"

Сначала искал в коде где указан этот ключ, но не нашел. Потом подумал что можно через двуссыл написать копию листа под ваш макрос с выбором нужной страницы но тоже не пошло не нашел в инете информации как это делается. (Хотел выбирать лист через выпадающий список.) Пока что в ступоре...



PS: Спасибо разобрался. Надо было удалить ненужные столбцы и добавить 1 в строке :
[vba]
Код
Sheets("Лист1").Cells(1, 2).Resize(41, 7).Value = Selection.Resize(41, 7).Value
[/vba]

Автор - koyaanisqatsi
Дата добавления - 05.06.2016 в 12:34
Kuzmich Дата: Воскресенье, 05.06.2016, 12:58 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 40 ±
Замечаний: 0% ±

Excel 2003
Цитата
какой ключ надо поменять чтобы сместить на одну колонку вправо диапазон просматриваемых исходных данных.

Диапазон исходных данных определяется в макросе от выделенной даты (Selection.Resize(41, 6).Value) 41 строка и 6 столбцов
и переносится на лист1 в ячейку В1
[vba]
Код
Sheets("Лист1").Cells(1, 2).Resize(41, 6).Value = Selection.Resize(41, 6).Value
[/vba]
Попробуйте пройтись по макросу в пошаговом режиме (F8) и посмотреть результат его действия.
 
Ответить
Сообщение
Цитата
какой ключ надо поменять чтобы сместить на одну колонку вправо диапазон просматриваемых исходных данных.

Диапазон исходных данных определяется в макросе от выделенной даты (Selection.Resize(41, 6).Value) 41 строка и 6 столбцов
и переносится на лист1 в ячейку В1
[vba]
Код
Sheets("Лист1").Cells(1, 2).Resize(41, 6).Value = Selection.Resize(41, 6).Value
[/vba]
Попробуйте пройтись по макросу в пошаговом режиме (F8) и посмотреть результат его действия.

Автор - Kuzmich
Дата добавления - 05.06.2016 в 12:58
koyaanisqatsi Дата: Воскресенье, 05.06.2016, 14:12 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Kuzmich, Да спасибо я с этим уже разобрался.
Вылезла другая проблема. После переноса макроса в аналогичную книгу почему-то с такими же столбцами и ячейками отчетик перестал удалять строки с нулевыми значениями.
К сообщению приложен файл: _23.xlsm(63Kb)
 
Ответить
СообщениеKuzmich, Да спасибо я с этим уже разобрался.
Вылезла другая проблема. После переноса макроса в аналогичную книгу почему-то с такими же столбцами и ячейками отчетик перестал удалять строки с нулевыми значениями.

Автор - koyaanisqatsi
Дата добавления - 05.06.2016 в 14:12
_Boroda_ Дата: Воскресенье, 05.06.2016, 15:42 | Сообщение № 12
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3923 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Заполните чем-нибудь ячейку F197. Если она пустая, то макрос сразу же перепрыгивает в ОТЧЕТИК из вот этой строки
[vba]
Код
If Cells(i, 4) = "" And Cells(i, 3) <> "НДС 10%" Then
[/vba]
И в ОТЧЕТИК3 добавьте после Dim-ов строку
[vba]
Код
Application.ScreenUpdating = 0
[/vba]
Не будет прыгать и увеличится скорость
К сообщению приложен файл: _23_1.xlsm(65Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЗаполните чем-нибудь ячейку F197. Если она пустая, то макрос сразу же перепрыгивает в ОТЧЕТИК из вот этой строки
[vba]
Код
If Cells(i, 4) = "" And Cells(i, 3) <> "НДС 10%" Then
[/vba]
И в ОТЧЕТИК3 добавьте после Dim-ов строку
[vba]
Код
Application.ScreenUpdating = 0
[/vba]
Не будет прыгать и увеличится скорость

Автор - _Boroda_
Дата добавления - 05.06.2016 в 15:42
koyaanisqatsi Дата: Воскресенье, 05.06.2016, 15:58 | Сообщение № 13
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
_Boroda_,
Спасибо. Все заработало.
В обоих макросах добавил эту строку прироста скорости не заметил. но это не критично.
[moder]Это потому, что массивы маленькие и файлы открыты легкие[/moder]
 
Ответить
Сообщение_Boroda_,
Спасибо. Все заработало.
В обоих макросах добавил эту строку прироста скорости не заметил. но это не критично.
[moder]Это потому, что массивы маленькие и файлы открыты легкие[/moder]

Автор - koyaanisqatsi
Дата добавления - 05.06.2016 в 15:58
Мир MS Excel » Вопросы и решения » Вопросы по VBA » создание отчета в желаемом формате из выделенного диапазона (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!