Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Excel как БД, прошу совета и немного помощи.  [new]
Holle
Member

Откуда:
Сообщений: 10
Доброго всем дня, с наступающим НГ.
Подскажите пожалуйста вариант оформления БД в Excel.

Что было ранее:
Создавали в Excel ведомость из шаблона и сохраняли в папку как отдельный файл каждой ведомости по месяцам/годам, просто чтоб было, их скопилось очень много. Нужен просто факт что такую ведомость создавали.
Печатный вариант уходил в бухгалтерию/в дело/в мусорку.

Что сделал я (но еще не красиво):
Создал единый файл с несколькими листами, где хранится вся информация и нужные данные сразу видны на одном листе. Необходимые ведомости можно просто выделить и распечатать по кнопке. Повторяющиеся операции проще сделать "построчно", чем "пофайлово".
Описание моего Франкенштейна (собирался по кусочкам):
1. Шаблон ведомости который заполняется макросом из листа БД
2. Собственно БД куда заносятся данные и хранятся
3-4. Листы для подстановок

Что требуется:
Не могу сообразить как оформить ввод нескольких строк в "Шаблон ведомости". Сейчас сделал - одна строка = одна ведомость, для этого выделено несколько столбцов БД, которые переводятся в строки для "Шаблон ведомости", чую оформлено коряво.
Ищу вариант как оформить макрос, чтоб он обрабатывал несколько выделенных строк как одну ведомость, но не соображу.

З.ы. Перечитал и понял, что для понимания надо выделить свою основную хотелку в помощи - Выделяешь несколько строк и из этого формируется ведомость на одну технику с несколькими строками "Наименование з/ч" которые были в выделенных строках.
З.з.ы Хотя возможно кто-то сразу разобьет всю эту идею в пух и прах и придется оформлять все в Access с последующей установкой юзерам.

Модератор: Тема перенесена из форума "Другие СУБД".


К сообщению приложен файл (Ведомость.rar - 71Kb) cкачать
27 дек 17, 09:29    [21065543]     Ответить | Цитировать Сообщить модератору
 Re: Excel как БД, прошу совета и немного помощи.  [new]
Aster32
Member

Откуда: Москва
Сообщений: 113
Holle,

Задача очень просто решается с помощью одного из самых мощных инструментов Excel, который называется "сводная таблица". Фактически, ваша исходная база должна послужить блоком данным для одной сводной таблицы, структуру которой вы выберете самостоятельно, в зависимости от того, какие суммарные данные по каждой единице технике вы хотите посчитать.

После этого, если нужно будет создать формы/отчеты для печати, нет ничего проще, чем тем же макросом перенести уже готовые данные в заранее разработанные шаблоны.

См. вложенный пример на основе вашего файла. Доработку сделаете сами.

К сообщению приложен файл (Ведомость ГСМ сводная таблица.xlsm - 53Kb) cкачать
28 дек 17, 12:04    [21069410]     Ответить | Цитировать Сообщить модератору
 Re: Excel как БД, прошу совета и немного помощи.  [new]
Holle
Member

Откуда:
Сообщений: 10
Aster32,

Aster32
Holle,

Задача очень просто решается с помощью одного из самых мощных инструментов Excel, который называется "сводная таблица". Фактически, ваша исходная база должна послужить блоком данным для одной сводной таблицы, структуру которой вы выберете самостоятельно, в зависимости от того, какие суммарные данные по каждой единице технике вы хотите посчитать.

Спасибо за это интересное дополнение, я этим еще не пользовался в работе. Но хотелось автоматизации оформления печатной формы. То, что одна строка = единица техники ясно. У меня стоит вопрос заполнения строк формы. Может быть несколько строк которые должны передаваться на форму. Я думал оформлять несколько строк к одной единице техники, а для формирования формы использовать выделение нескольких строк. Но как передать макросу что выделив несколько строк, их надо оформить как одну печатную форму.
Тут больше вопрос по VBA.
28 дек 17, 14:58    [21069978]     Ответить | Цитировать Сообщить модератору
 Re: Excel как БД, прошу совета и немного помощи.  [new]
Aster32
Member

Откуда: Москва
Сообщений: 113
Честно говоря, не совсем понятно, что вы хотите в итоге получить. Насколько я понял, в произвольное выделение нескольких строк из вашей базы может попасть как информация по одному и тому же объекту техники, так и по разным объектам. Ваша же форма ("ведомость") содержит в своей титульной части поля для заполнения информации только об одном объекте.

Также непонятно, что означают в вашей базе строки, относящиеся к одной и той же единице техники, содержащие один и тот же "Код 1" и различающиеся только по графе "Ед изм." - например строки 17-21 листа "База". Если у вас идет вывод информации в лист "База" из внешнего источника, и строки относящиеся к одному и тому же объекту техники могут содержать как разные, так и одинаковые значения поля "Код 1" - то поля "Код 2" и т.д. - вам не нужны.

Просто оставьте в базе поля начиная с "Дата" и заканчивая полем "Количество". Поле "Код 1" - переименуйте просто в "Код". Рядом с полем "Код" - заведите поле "Наименование ГСМ". Далее делаете сводную таблицу так, как я показал в ранее приложенном примере. В строках и подстроках сводной таблицы будут суммироваться количества различных расходных материалов, относящихся к конкретной единице техники.

Дальше вам останется макросом только заполнить титульные поля вашей ведомости, и "скопипастить" в нее часть сводной таблицы (хоть макросом, хоть ручками, как удобнее).

Короче говоря - измените подход к задаче. Что-то выделять на листе "База" и жать кнопку запускающую макрос - неверный алгоритм для решения данной задачи. Сделайте сводную таблицу, выделяйте в ней необходимое и жмите кнопку - так намного правильнее.
28 дек 17, 16:45    [21070316]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить