VetCAD

Программа подсчета спецификаций КЖ и создания ведомости расхода стали. VBA Excel 2007.

    2 оценки

AlexV

размещено: 14 Августа 2009
обновлено: 12 Марта 2014
Предлагаю протестировать программу для создания и изменения спецификаций, а так же создания ведомости расхода стали (в основном, может пригодиться тем, кто занимается КЖ). В архиве краткое описание в Word-файле, и экселевские (Excel2007) файлы «Спецификация» и «Пример» ( первый можно сохранить как шаблон, и затем использовать при создании новых спецификаций, во втором –образец спецификаций и ведомости расхода стали, полученной с ее помощью)
Excel файл содержит базу данных по металлопрокату (которую можно дополнять), и несколько макросов: для создания спецификации, пересчета спецификации и создания ведомости расхода стали по созданным спецификациям (описание в архиве)
'*___________________________________*
Произвел небольшой "апгрейд":
-исправлены несколько ошибок в подсчетах (для некоторых категорий в столбцах «Итого»)
-Теперь можно задавать количество для типов конструкций, а в итоговой ведомости расхода стали появилась строка «Всего» с соответствующими данными..
-Появилась функция экспорта таблиц в Autocad. Нажатием кнопки экспортируются все спецификации из окна «Наименование конструкций» (создается новый файл в Auocad, таблицы последовательно вставляются..). Ведомость расхода стали экспортируется соотв. кнопкой на листе, предварительно необходимо выделить
диапазон.. Вообще, можно экспортировать любой выделенный диапазон на любом листе, запустив Module7.main (из списка макросов alt + F8); в этом случае, правда, форматирование в Акадовской таблице получится «от балды»

P.S напоминаю, что в названии листов должны быть только цифры/буквы.. Использование других символов может привести к ошибкам..
P.P.S Оказалось, названия марок сборочных единиц не должны совпадать с адресами ячеек. То бишь не надо назвать закладную MN1, ошибка будет.. Так что в названиях марок кириллицу используйте..
Программа подсчета спецификаций КЖ и создания ведомости расхода стали. VBA Excel 2007.1
Программа подсчета спецификаций КЖ и создания ведомости расхода стали. VBA Excel 2007.2
Программа подсчета спецификаций КЖ и создания ведомости расхода стали. VBA Excel 2007.3

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-10 из 73
DeMarko , 14 августа 2009 в 18:41
#1
Спасибо, впечатляет. Но есть один вопрос: как %%с поменять на значок диаметра ???
AlexV , 14 августа 2009 в 21:43
#2
Ну, если таблица тем или иным способом вставляется в dwg файл, то %%c будет выглядеть как значок диаметра.. Если же нет, можно в excel файле с готовыми спецификациями через поиск и замену поменять %%c на любой желаемый символ (к примеру, в шрифтах СПДС есть символ диаметра. Правда, он у меня отображается нормально только при включенном автокаде и загруженном СПДС). Еще вариант - в VBA коде тоже через поиск и замену поменять все %%c на нужный символ (или сочетание символов)
apxap , 15 августа 2009 в 02:39
#3
Норм программулина. ИМХО нужно добавит функцию вставки в автокад сразу из Экселя макросом там или как не знаю уж)) Но было бы намного удобнее
Alex80 , 15 августа 2009 в 09:41
#4
Спасибо, наверное это пока самая лучшая программа в excel. Теперь вопросы по "сборочным единицам" на примере листа "ПП1":
1) Кнопка «Пересчет спецификации» пересчитывает на текущем листе массу всех профилей (исходя из данных в базе), но массу "сборочных единиц" не пересчитывает (ячейки синии).
2) Объясни пожалуйста для "чайника" подробнее, важны ли «наименования» для сборочных единиц («обозначения» не важно для работы программы), и гиперссылки нужны для удобства или тоже участвуют в вычислениях и к ним тоже нужны правила заполнения.
AlexV , 15 августа 2009 в 13:37
#5
Alex80 - Да, "Пересчет спецификации" работает только с "Деталями" т.е. из ячейки "Обозначение" берется ГОСТ, из "Наименование" вычисляется название профиля, типоразмер и длина. Потом в базе металлопроката ищется нужный профиль и "выцепляется" масса погонного метра. Если найти не удалось, пересчета не происходит и ячейка справа подсвечивается.
Масса же сборочных единиц пересчитывается при создании ведомости расхода стали. Если найден диапазон со спецификацией на сборочную единицу, то сумма ячеек с массой вставляется (формулой со ссылкой на нужный лист) в ячейку "Масса ед."
К гиперссылкам правила заполнения не нужны. При пересчете ВРС создается именованный диапазон, включающий строки со спецификацией на сборочную единицу, и гиперссылка на него вставляется программно, для "удобства восприятия". Ткнул мышкой, и перешел к диапазону, который брался при вычислении; сразу видно, правильно ли программа его нашла..
"Наименование" для сборочных единиц заполняется так: название и марка (Пространственный каркас ПК1, Закладная деталь МН2, Сетка С1). Главное, что бы в графе "Поз." значение соответствовало тому, что будет в строке над спецификацией на данную сборочную единицу. Да, еще особенность программы: все детали A-III и A-I в ВРС вставляются как "Арматура", все профили - в части "Закладные детали". Исключение для арматуры - если в графе "Наименование" присутствует словосочетание "Закладная деталь". Тогда вся арматура по данной сб. единице вставляется тоже в "Закладные детали"
DEM , 15 августа 2009 в 17:49
#6
+5
Говорил же нормальная прога получится.
Только вот нас с Кутузычем почему то в со авторах нету :(
AlexV , 15 августа 2009 в 22:55
#7
DEM, ну можно добавить в описании... Что-то типа:
Copyrights by AlexV & TOMS-Group
The co-author: DEM
Practical trials: Kutuzov
бесперспективняк , 16 августа 2009 в 13:25
#8
Спасибо что придумал(и), написал! и выложил, не запоролил.
Не сразу, но разобрался. По-началу, я видимо что то не правильно делал, выскакивали сообщения об ошибках. Попробовал глянуть "внутрь", думал может соображу что к чему, фиг, не вышло. Пародоксально, программа видно что не простая, а стиль написания как "на скорую руку", ну там без коментов, имена по умолчанию для модулей, форм, кнопок (CommanButton1), типа обфускация что ли :)))
Я к чему, немного покритикую, нужно бы прибавить в отказоустойчивости. Сообщения об ошибках поосмылненнее (не Description выводить).
Коменты добавлять уже поздно ))

А вот что бы хотелось в будущих версиях )):
1
Хотелось бы иметь отдельный файл или файлы со сборочными единицами (например для каркасов, сеток, и т.п., на каждий тип свой файл, в отдельной папке), а в спецификацию соответственно вставлять из этой "библиотеки", выбрав тип и марку (в отдельной форме, или еще как). Просто у нас в основном одни и теже арм.изделия применяются (и их много, поэтому копи-паст не рульно).
2
Реалдизовать бы это в акаде, без участия екселя.

Что-то я разошелся, нарвусь на грубость.
Вообщем СПАСИБО, в точку Вы с этой программой.

зы Удалите плиз мои неудачные сообщения. Пардон.
AlexV , 16 августа 2009 в 15:25
#9
> бесперспективняк, недостатки все эти очевидны.. Вобщем, код в немалой степени надерган из разных программ (в том числе и не моих). Когда пишешь, хочется быстрее добиться результата, а отладка и оптимизация уже более скучным делом кажется... А когда прога почти готова, самому уже в ней разобраться трудно)). Вобщем, це беда многих непрофессиональных программистов.
По созданию базы сборочных элементов мысля была; сохранять и затем использовать просто марку, тип и массу - не проблема.. А вот с данными о деталях, входящих в их состав (что бы можно было ВРС считать), - сложнее, тем более учитывая, что в состав одной сборки могут входить другие (пространственный каркас - армокаркас/сетка - закладные)...
Вобщем, надо сначала исходный код оптимизировать, переделать и отладить...
Иван 80 , 16 августа 2009 в 18:12
#10
Большое Спасибо!!!
zip

1.33 МБ