Кремень FMZ Реклама
Kremen FMHM Реклама

Реестр печати с расчетом

krom_berg
Идет загрузка
Загрузка
20.11.2019
8613
57
Разное

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

33
Статья относится к принтерам:
Ender 3

И так, доброго всем времени суток)

Данный пост начну с небольшого рассказа.

Я думаю как и многие из нас, я занимаюсь печатью на заказ, правда пока в небольших объемах, но всё же столкнулся с некоторой проблемой. Я старался всегда вести какой-то учет заказов, чтобы собирать статистику, видеть средний расход в месяц по пластику ну и в целом просто подводить итоги в конце месяца. 

Завел себе таблицу Excel, в которую набросал примитивных колонок: вид пластика, вес изделия, время печати и т.д. Хоть объем информации небольшой, но всё же эти 5-6 колонок нужно было после каждого заказа заполнять вручную. 

Позже наткнулся на очень полезную штуку от Chuzhastik (ссылка на статью кликабельна), а именно калькулятор для расчета стоимости печати, в котором довольно приятно реализован метод. 

Попользовавшись довольно долго данным калькулятором, и снова устав вписывать информацию о печати, я в какой-то момент забросил ведение статистики. Но в очередной раз разговаривая с заказчиком, я понял что всё таки надо реализовать некое подобие реестра, в который по одному щелчку мышки будет попадать вся информация по печати. Начиная от цены катушки заканчивая стоимостью за партию.

Покопавшись денек в интернете, нашел способ в котором можно написать код для Excel на Visual Basic. С языками программирования я немного знаком, но конкретно с этим товарищем я никогда не общался) Потратив еще немного времени и разобравшись в синтаксисе языка, конечно не без помощи "ведосеков", я смог реализовать задумку.

А теперь по порядку)

За основу была взята вышеупомянутая таблица с готовым расчетом стоимости печати.

Первоначально выглядела она так

Реестр печати с расчетом

Сразу небольшая оговорочка, алгоритм расчета я не трогал от слова совсем, и не стал придумывать колесо т.к. всё реализовано довольно хорошо и меня полностью устраивает.

Так вот, взяв за основу всю эту красоту, я переделав таблицу немного под себя, получилось следующее:

Реестр печати с расчетом

Понимаю что очень уж всё пёстро, но поверьте, в дальнейшем это пригодится, и вы поймёте почему)

Идем дальше. Приведя всё в тот вид который был у меня в голове, и уже примерно понимая какой вид и какие столбцы будут в реестре я подумал, что будет полезно указывать еще и вид пластика, который использую, чтобы видеть картину по расходу не общего количества пластика, а каждого отдельно. Но как все знают, лень двигатель прогресса, хотя я больше за оптимизацию всего процесса)) Поэтому сделал возможность выбрать необходимый пластик сразу в ячейке из выпадающего списка. Вкратце объясню.

Создаем нужный нам список, к примеру такой:

Реестр печати с расчетом

Тыкаем на ячейку в которой будет выпадающий список.

Далее в графе данные, нам нужна "проверка данных".

Реестр печати с расчетом

Тыкаем на нее и вы новом окне "тип данных" выбираем "список".

Реестр печати с расчетом

И в "источник" выделяем нужные нам ячейки БЕЗ шапки.

Реестр печати с расчетом

Нажимаем Enter и следом Ok.

Вуаля, и готово. Лично у меня получилось так: 

Реестр печати с расчетом

Дальше необходимо включить вкладку разработчика. Параметры - Настройки ленты - Разработчик.

Реестр печати с расчетом

Далее начинается самое интересное.

Для начала я начал готовить шапку самого реестра. Получилось следующим образом:

Реестр печати с расчетом

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

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

Реестр печати с расчетом

 ДАНГЕРУС!!! ОБЯЗАТЕЛЬНО ПОСЛЕ ВВОДА НУЖНО НАЖАТЬ ENTER, ИНАЧЕ НЕ СОХРАНИТСЯ.

ТАК ЖЕ НЕОБХОДИМО СРАЗУ СОХРАНИТЬ ДОКУМЕНТ В ФОРМАТЕ ПРИВЕДЕННОМ НИЖЕ.

Реестр печати с расчетом

Вроде предупредил)После того как мы присвоили всем нужным нам ячейкам имена, начинаем кодить.

Переходим во вкладку разработчика и открываем Visual Basic

Реестр печати с расчетом

После чего нам нужно подключить во вкладке Insert, Module

Реестр печати с расчетом

Переименовываем имеющиеся листы, обязательно английскими буквами.

Реестр печати с расчетом

И пишем код. Сразу хочу оговориться, что код, который приведен ниже сделан именно под мою таблицу. Красным я подчеркну переменные которые могут меняться.

Реестр печати с расчетом

Знаю, знаю, таких переменных очень много и дабы не мусолить эту довольно большую тему, просто приложу ссылку на видео, в котором поясняется как и что этот код делает.  Тут.

Сразу предупрежу, что мой код отличается от приведенного в видео. Т.к. там объясняется написание кода только для одного листа, следовательно код другой.Все ребята шаристые, разберетесь)

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

Приступаем к финальной стадии. Созданию великой КНОПКИ.

Для этого возвращаемся во вкладку разработчика и тыкаем вставить - кнопка(самая первая в выпадающем окне):

Реестр печати с расчетомВыбираем необходимые размеры и после того как опустим мышку вылезет такое окно:

Реестр печати с расчетом

Выбираем наш модуль "AddDateToTable" и тыкаем Ок, появляется активная кнопка, переименовываем ее как нам нужно, перетаскиваем куда нужно и пользуемся)

Конечный результат:

Реестр печати с расчетом

А теперь самое волнительное. Жмем кнопку "Внести в реестр"

Реестр печати с расчетом

Дабы не было сомнение что автонумерация и прочие функции работают исправно, от фонаря взял рандомные значения и залил их в реестр, так что всё огонь)

Реестр печати с расчетом

И о боги, оно работает, оно живое)

В конечном итоге что мы с этого имеем?

Автонумерацию строк, автоматический ввод всех данных в реестр одним кликом, оптимизацию сбора статистики и бесценный опыт.

Хочу сказать, что такой длиннопост я написал для людей, которым может не понравится мой вариант исполнения, которые увидев задумку, захотят сделать подобное под себя. Я мог бы просто залить пару скринов и сказать "пользуйтесь", но так же не интересно))

Надеюсь я смог немного заинтересовать вас своей мыслью, друзья сопечатники)

Ну а теперь, изрядно помучав вас, я выкладываю свою вариацию в Excel файле.

Excel тут.

Пользуйтесь на здоровье и добро пожаловать в комментарии для обсуждения сей статьи)

Всем удачи и хорошей адгезии ;)

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

33
Комментарии к статье