Форум профессиональных мебельщиков PROMEBELclub
 
PROMEBELclub - Форум для мебельщиков: конструкторов, дизайнеров, мастеров, технологов и всех, кто имеет отношение к производству и изготовлению мебели. Программы для конструирования и дизайна мебели. Мебельная литература и обучающие пособия.
 
 

Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели


Реклама на портале PROMEBELclub
Реклама на портале PROMEBELclub

битрикс24 Мебель196. Мебельный интернет-магазин в Екатеринбурге.
Программы для конструирования и дизайна мебели Любые программы для мебели. Программы для проектирования мебели, расстановки мебели, конструирования мебели, дизайна мебели, раскроя, дизайна интерьера и т.п.

Ответ
 
Опции темы Опции просмотра
Старый 13.01.2013, 20:32  
Exсel. Помощь по составлению таблиц и созданию макросов в мебельных расчётах
AndrewP
Местный
Регистрация: 13.08.2010
Сообщений: 1,615

Сказал(а) спасибо: 11,835
Поблагодарили 9,533 раз(а) в 1,526 сообщениях
Версия для печати Отправить по электронной почте
AndrewP AndrewP вне форума 13.01.2013, 20:32
Рейтинг: (3 голосов - 3.33 средняя оценка)

Что такое макрос. Как его писать. На каком языке он пишется.

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

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

Варианты решения данной задачи во вложенном файле.

Последний раз редактировалось AndrewP; 15.12.2014 в 02:57..
Просмотров: 134517
Ответить с цитированием Вверх
17 пользователя(ей) сказали cпасибо:
Старый 29.01.2013, 22:16   #41
AndrewP
Местный
 
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,835
Поблагодарили 9,533 раз(а) в 1,526 сообщениях
Вес репутации: 2195
AndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспорима
По умолчанию

Цитата:
Сообщение от ПРАКТИК Посмотреть сообщение
Андрей, исходя из твоего опыта, сколько таких типов вообще может быть?... ну, примерно хотя бы... единицы, десятки?... может стоит сообща накидать возможные варианты?
Хороший вопрос. Можно даже отдельную тему зарядить по этому поводу.

Разрабатывал в своё время серии офисных "мебелей", детских, ванных, гостиных...

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

Так вот, в случае со sparkfire как раз речь об этих реально продаваемых десяти-двадцати шкафах.

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

Потом посчитаем варианты (а там многое мультиплицируется); полагаю, что даже отбросив параметры, выйдем за порядок в десятки тысяч.
AndrewP вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
sparkfire (31.01.2013), ПРАКТИК (30.01.2013)
Старый 30.01.2013, 04:41   #42
sborchik
Гость
 
Регистрация: 13.10.2009
Сообщений: 7,933
Сказал(а) спасибо: 12,152
Поблагодарили 20,908 раз(а) в 5,925 сообщениях
Вес репутации: 0
sborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспоримаsborchik репутация неоспорима
По умолчанию

Цитата:
Сообщение от AndrewP Посмотреть сообщение
полагаю, что даже отбросив параметры, выйдем за порядок в десятки тысяч.
Ну зачем же так изгаляться?))
Думаю, десяток, полтора будет вполне достаточно. Остальные все "извращения" - по желанию заказчика.
Чем больше заказчику предлагаешь - те больше он входит в "ступор".... И, как ни странно, повышается вероятность того, что он пойдет туда, где 5 вариантов и не выносят мозг))
sborchik вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
alexvictory (30.01.2013), AndrewP (30.01.2013), sparkfire (31.01.2013), ZilovV (31.01.2013), zzerg (28.02.2013)
Старый 30.01.2013, 21:08   #43
ПРАКТИК
VIP
 
Аватар для ПРАКТИК
 
Регистрация: 13.02.2009
Сообщений: 3,823
Сказал(а) спасибо: 28,881
Поблагодарили 27,232 раз(а) в 5,636 сообщениях
Вес репутации: 6048
ПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспорима
По умолчанию Просьба к AndrewP

Андрей, есть просьба маленькая.
Начал "рыть" макросы, голова, правда, пухнет, но что то уже начало доходить, хотя бы по объектам, по свойствам...
Просьба такого плана: в экселе есть разные элементы управления, и есть желание научится ими програмно управлять, т.е. их свойствами и именно через макросы...
Нужно не готовое решение, а пример... как именно это сделать, как именно должен выглядеть управляющий макрос?
Допустим на листе есть элемент TextBox и нужно изменить его свойство (не важно какое, пусть будет вертикальный размер) в зависимости от значения в какой нибудь произвольной ячейке... Буквально: Если (....), То (....).
Андрей, если владеешь такими тонкостями, то научи уму-разуму....

И ещё... элементы управления имеют размеры (вертик. гориз.) и привязку (отступы от верха и левого края либо листа, либо пользовательской формы)... так вот, эти цифры всегда кратны 0,75 у.е. (пунктам наверное).... вопрос... этот шаг есть величина постоянная для экселя, или где то её можно изменить на более "покладистую"?
ПРАКТИК вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
sparkfire (31.01.2013)
Старый 30.01.2013, 22:27   #44
AndrewP
Местный
 
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,835
Поблагодарили 9,533 раз(а) в 1,526 сообщениях
Вес репутации: 2195
AndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспорима
По умолчанию

Цитата:
Сообщение от ПРАКТИК Посмотреть сообщение
как именно должен выглядеть управляющий макрос?
Sub Макрос1()
'
' Макрос1 Макрос
' Присваиваем переменной "а" значение из ячейки "B2"
а = Range("B2").FormulaR1C1
' Присваиваем высоте элемента "Group Box 1" значение а
ActiveSheet.Shapes("Group Box 1").Select
Selection.ShapeRange.Height = а

End Sub

Можно прямо, без промежуточной переменной:
Sub Макрос2()
'
' Макрос2 Макрос
'
' Можно прямо, без промежуточной переменной: присваиваем высоте элемента "Group Box 1" значение ячейки "B2"
ActiveSheet.Shapes("Group Box 1").Select
Selection.ShapeRange.Height = Range("B2").FormulaR1C1

End Sub

Пример во вложении

Цитата:
Сообщение от ПРАКТИК Посмотреть сообщение
0,75 у.е. (пунктам наверное).... вопрос... этот шаг есть величина постоянная для экселя, или где то её можно изменить на более "покладистую"?
Попробуй отключить привязку к сетке и привязку к объектам в меню "Рисование", если я правильно понял проблему. Откуда взялось 0,75? Где такое написано?

Последний раз редактировалось AndrewP; 15.12.2014 в 02:57.
AndrewP вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
ame (31.01.2013), Peterson (31.01.2013), sparkfire (31.01.2013), ПРАКТИК (30.01.2013)
Старый 30.01.2013, 23:02   #45
ПРАКТИК
VIP
 
Аватар для ПРАКТИК
 
Регистрация: 13.02.2009
Сообщений: 3,823
Сказал(а) спасибо: 28,881
Поблагодарили 27,232 раз(а) в 5,636 сообщениях
Вес репутации: 6048
ПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспорима
По умолчанию

Андрей, спасибо огромное за макрос.... буду вникать... тяжеловато даётся
Цитата:
Сообщение от AndrewP Посмотреть сообщение
Откуда взялось 0,75? Где такое написано?
Вот, на картинке... TextBox, и его свойства... четыре цифры: ширина, высота, отступ от верха и отступ от левой стороны листа (местоположение)... При попытке изменить их вручную (непосредственно в окне свойств) на размер меньший/больший чем 0,75 или ничего не происходит (объект на месте остаётся), или цифры сами перескакивают к ближайшему числу кратному 0,75. При попытке изменить размер или местоположение на листе (с помощью маркеров), или подвигать его с помощью стрелок на клавиатуре, то же самое... все изменения кратны 0,75...

Цитата:
Сообщение от AndrewP Посмотреть сообщение
Попробуй отключить привязку к сетке и привязку к объектам в меню "Рисование"
Это всё при отключенной привязке... При включенной, как элементы управления, так и автофигуры строятся исключительно с привязкой к сетке ячеек
Миниатюры
Свойства.jpg  
ПРАКТИК вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
AndrewP (30.01.2013), sparkfire (31.01.2013)
Старый 31.01.2013, 23:14   #46
AndrewP
Местный
 
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,835
Поблагодарили 9,533 раз(а) в 1,526 сообщениях
Вес репутации: 2195
AndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспорима
По умолчанию

Цитата:
Сообщение от ПРАКТИК Посмотреть сообщение
... все изменения кратны 0,75...
Понял, глянул, копнул.
По всей видимости это вунтренний экселевский шаг сетки, который сделан для организации графики элементов управления. Как его отключить/изменить не знаю, не знаю даже можно ли это в принципе. Никогда не возникало такой практической задачи. Данная точность расположения элементов управления всегда устраивала.

А для какой цели это тебе, ПРАКТИК, надо? Может в твоей конкретной задаче это можно решить по другому?

Например, фигуры (прямоугольник, линию, размерную линию) можно рисовать с точностью/шагом 0,1 мм в диапазоне порядка 60 метров. Для чертежей мебельных деталей и изделий - вполне приемлемо (когда-то даже чертежи с присадкой чертил в экселе )
AndrewP вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
sparkfire (01.02.2013), ПРАКТИК (31.01.2013)
Старый 01.02.2013, 00:27   #47
ПРАКТИК
VIP
 
Аватар для ПРАКТИК
 
Регистрация: 13.02.2009
Сообщений: 3,823
Сказал(а) спасибо: 28,881
Поблагодарили 27,232 раз(а) в 5,636 сообщениях
Вес репутации: 6048
ПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспорима
По умолчанию

Цитата:
Сообщение от AndrewP Посмотреть сообщение
вунтренний экселевский шаг сетки
Похоже на то... и, согласен с тобой, не смертельно...
Цитата:
Сообщение от AndrewP Посмотреть сообщение
для какой цели
Есть задача которую уже давно хочу решить. Витрины из профиля, расчёт с полным "автоматом"... Но, не как хотел sparkfire для шкафов, по принципу тип-габариты-расчёт, а что бы можно было саму витрину программировать с нуля: габариты-секции-выбор зашивок для прогалов и т.д... Ну и нужна некая визуализация, т.е. некие перемещаемые фигуры/элементы которые смогут, пусть и не с мм. точностью, но схематично отобразить внешний вид...
И, подозреваю, что без макросов тут не обойтись......
Андрей, попутно ещё вопрос. Касательно твоего примера (007-го)... Данные в управляющей ячейке меняются, но действия как такового сразу не происходит... макрос нужно запустить вручную, при этом ещё и выбрать какой из них... Так и должно быть? Или всё-таки есть способ при котором макрос запускается сам, да ещё и отслеживает изменения в управляющей ячейке?
ПРАКТИК вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
sparkfire (01.02.2013)
Старый 01.02.2013, 09:24   #48
AndrewP
Местный
 
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,835
Поблагодарили 9,533 раз(а) в 1,526 сообщениях
Вес репутации: 2195
AndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспорима
По умолчанию

Цитата:
Сообщение от ПРАКТИК Посмотреть сообщение
действия как такового сразу не происходит... макрос нужно запустить вручную, при этом ещё и выбрать какой из них... Так и должно быть?
Да, запускать макрос вручную, или нарисовать для него кнопку.

Цитата:
Сообщение от ПРАКТИК Посмотреть сообщение
Или всё-таки есть способ при котором макрос запускается сам, да ещё и отслеживает изменения в управляющей ячейке?
Конечно, есть такой способ. Извини, не могу подробно и с картинками остановиться (сейчас далеко от своего компа).

Вот пример во вложении (макрос выполняющийся сам при изменении значения в ячейке B2 изменяет высоту прямоугольника)

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

Последний раз редактировалось AndrewP; 15.12.2014 в 02:57.
AndrewP вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
sparkfire (01.02.2013), ПРАКТИК (01.02.2013)
Старый 01.02.2013, 10:11   #49
ПРАКТИК
VIP
 
Аватар для ПРАКТИК
 
Регистрация: 13.02.2009
Сообщений: 3,823
Сказал(а) спасибо: 28,881
Поблагодарили 27,232 раз(а) в 5,636 сообщениях
Вес репутации: 6048
ПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспоримаПРАКТИК репутация неоспорима
По умолчанию

Цитата:
Сообщение от AndrewP Посмотреть сообщение
Вот пример во вложении
Угу, то что нужно... спасибо Андрей...
Выходные на носу... покопаюсь.
ПРАКТИК вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
AndrewP (01.02.2013), sparkfire (01.02.2013)
Старый 01.02.2013, 23:48   #50
AndrewP
Местный
 
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,835
Поблагодарили 9,533 раз(а) в 1,526 сообщениях
Вес репутации: 2195
AndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспоримаAndrewP репутация неоспорима
По умолчанию

Цитата:
Сообщение от Vostorg Посмотреть сообщение
можно попросить
Просить-то можно, только...


Цитата:
Сообщение от AndrewP Посмотреть сообщение
Извини, не могу подробно и с картинками остановиться (сейчас далеко от своего компа).
Как только доберусь, так сразу (полагаю через недельку, или около того). Со всеми картинками и пошаговыми инструкциями. А сейчас могу только урывками и давать обьяснения в основном текстом.

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

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

Также макросы могут запускаться от других действий (открытия, закрытия книги, при переходе на другой лист в книге и т.п.). Такие макросы записываются не в модуле, а в листе или даже в книге. Вот здесь
Вложение 69762

Представленное в примере 008 изменение высоты прямоугольника в зависимости от значения ячейки выполняется макросом реагирующим на изменение указанного диапазона ячеек листа.

Например, задали, что если что-то поменялось в ячейках [B2:B4] на данном листе, то тут же включается некий макрос. Если же мы изменим значение В6 или других ячеек вне "диапазона срабатывания", то ничего не произойдёт.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lbh As Range: Set lbh = [B2:B4] 'диапазон изменяемых ячеек
If Not Intersect(lbh, Target) Is Nothing Then

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

' Присваиваем переменной а значение из ячейки "B2" и переводим _
значение ячейки (миллиметры) в единицы размера фигуры
h = Range("B2").FormulaR1C1 / 10

' Присваиваем высоте фигуры "Прямоугольник 1" значение из ячейки "B2"

ActiveSheet.Shapes("Прямоугольник 1").Select
Selection.ShapeRange.Height = h

' И далее, допустим, выделяем ячейку "B2", для нового ввода высоты в ячейку
Range("B2").Select

' Заканчиваем
End If

End Sub

Картинка, где именно в листе прописывается макрос, получилась здесь не очень разборчивой. Чтобы её лучше рассмотреть, я её "отпринскринил" на лист примера 008 и залил во вложение. Также во вложении пример работы макроса со вводом в ячейки и с кнопки (файл "Программа расчёта угловых шкафов (с разными типами макросов)")

Побалуйтесь, поразбирайте примеры.

Последний раз редактировалось AndrewP; 15.12.2014 в 02:57.
AndrewP вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
semdizain (02.02.2013), sparkfire (02.02.2013), todor_tsanov (02.02.2013), zzerg (18.05.2014), ПРАКТИК (02.02.2013)
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мебельных дел мастер arsenii1981 Журналы 5 22.12.2014 13:52
Расчёт кухонных тумб в Exсel Valerian Программы для конструирования и дизайна мебели 25 10.03.2013 20:49
Компания Sky Group и ее партнеры объединили усилия по созданию технологичных продукто IQDEMY Поставщики 0 09.01.2013 08:45
Идея по созданию зеркального лого на посуде Shima Как это сделать?. Идеи. 13 28.10.2010 17:22
Уроки по созданию мебели от Девида Маркса Dosoleg Видео. Мебель и деревообработка. 13 31.08.2010 23:41


Текущее время: 14:58. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
© 2007-2021 PROMEBEL