|
|
Программы для конструирования и дизайна мебели Любые программы для мебели. Программы для проектирования мебели, расстановки мебели, конструирования мебели, дизайна мебели, раскроя, дизайна интерьера и т.п. |
|
|
|
13.01.2013, 21:32
|
|
Exсel. Помощь по составлению таблиц и созданию макросов в мебельных расчётах
AndrewP
Местный
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,834
Поблагодарили 9,536 раз(а) в 1,526 сообщениях
13.01.2013, 21:32
Рейтинг:
()
Что такое макрос. Как его писать. На каком языке он пишется.
Предлагаю опытным форумчанам делиться своими знаниями Exel, в применении к мебельным задачам. С картинками и примерами.
Как, например сделать так, чтобы нажав на созданную кнопку бралось значение ячейки с одного листа и прибавлялось к значению ячейки на другом листе?
Варианты решения данной задачи во вложенном файле.
Последний раз редактировалось AndrewP; 15.12.2014 в 02:57..
|
Просмотров: 204767
|
17 пользователя(ей) сказали cпасибо:
|
|
18.02.2013, 04:39
|
#81
|
Модератор
Регистрация: 15.12.2010
Адрес: Новосибирск
Сообщений: 1,201
Сказал(а) спасибо: 674
Поблагодарили 1,908 раз(а) в 704 сообщениях
Вес репутации: 683
|
если "наполнение" делит дверь на равны части можно так:
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
18.02.2013, 18:41
|
#82
|
Модератор
Регистрация: 14.04.2010
Адрес: Псков
Сообщений: 2,400
Сказал(а) спасибо: 14,281
Поблагодарили 20,693 раз(а) в 2,726 сообщениях
Вес репутации: 4624
|
Цитата:
Сообщение от AndrewP
скан почеркушки на листке, что должно быть на входе (какие есть варианты систем и предельные размеры/ограничения) и что желаете видеть на выходе.
Покумекаем вместе?
|
Накалякал для покумекования)
__________________
Старайся делать хорошо! Плохо само получится...
|
|
|
Пользователь сказал cпасибо:
|
|
24.02.2013, 14:36
|
#83
|
Местный
Регистрация: 01.06.2012
Адрес: Санкт Петербург
Сообщений: 191
Сказал(а) спасибо: 403
Поблагодарили 392 раз(а) в 113 сообщениях
Вес репутации: 284
|
Ребят, снова всем привет, у меня небольшой практический вопрос:
Часто приходится делать деталировку объектов для распила, работаю в про100, но бывает так, что одна и та же деталь повторяется в нескольких модулях.
Прошка по умолчанию соединяет их вместе, но только в том случае, если они совершенно одинаковые, но если получается, что для детали требуется разное кромление, например, в одной - по длинной стороне, а в другой- по одной длинной и одной короткой- тогда программа выдает в списке две разные позиции. Распиловщики, где заказываю услугу- ругаются, требуют объединять одинаковые позиции, но , когда заказ большой- это бывает очень сложно сделать.
Просьба следующего плана: необходим завязанный на комбинацию клавиш макрос, который в таблице будет искать одинаковые строки в заданном диапазоне, и выделять их цветом, либо (это сложнее) самостоятельно объединять.
|
|
|
Пользователь сказал cпасибо:
|
|
24.02.2013, 23:19
|
#84
|
Местный
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,834
Поблагодарили 9,536 раз(а) в 1,526 сообщениях
Вес репутации: 2237
|
Цитата:
Сообщение от sibmebel
Накалякал для покумекования)
|
Кумекаю. Скоро выложу альфа-версию.
Цитата:
Сообщение от sparkfire
...который в таблице будет искать одинаковые строки...
|
Это можно решить простой сортировкой.
Например, есть деталировка (у меня свой формат - не PRO100-шный, но смысл один и тот же)
Выделяем строки для сортировки.
Задаём сортировку: вначале сортируем по столбцу "В" - "Материалы", например, по убыванию; потом по столбцам "С" - "Длина" и "D" - "Ширина": тоже по убыванию - от большего к меньшему .
В результате получаем отсортированные данные, где одинаковые размеры деталей из одного и того же материала будут стоять рядом и раскройщики или кромочники пользующиеся данной спецификацией легко найдут близкие размеры, их количество и прочее.
Ну, а макрос попробуйте записать макрорекордером. Более сложные и (или) другие варианты рассмотрим, если понадобится, в следующий раз.
Файл примера во вложении.
Последний раз редактировалось AndrewP; 15.12.2014 в 02:57.
|
|
|
4 пользователя(ей) сказали cпасибо:
|
|
11.03.2013, 16:35
|
#85
|
Местный
Регистрация: 01.06.2012
Адрес: Санкт Петербург
Сообщений: 191
Сказал(а) спасибо: 403
Поблагодарили 392 раз(а) в 113 сообщениях
Вес репутации: 284
|
Вопрос , наверное, дурацкий, но можно ли завязать на макрос удаление пустых строк в заданном диапазоне со смещением вверх, не прибегая к сортировке?
Суть в чем: Продолжаю биться все над той же таблицей
Скрытый текст
(есть готовые части, есть неоконченные) [свернуть]
, по расчету заказов, и случай такой, что данные из про100 копируются , очищается от предыдущих данных кнопкой таблица, другой кнопкой вставляется массив данных в нужное место, и если деталь в проекте помечена как "фасад"- идет копирование на другой лист, который занимается только фасадами, все сложно, количество строк- 60, позиций фасадов, как вы понимаете, меньше, чтоб не работать с нулями, можно ли завязать на кнопку очищение пустых строк именно заданного участка, со смещением вверх, до ближайшего заполненного поля?
Скрин промежутойной таблицы(как раз тот случай, когда условное форматирование выдает данные в новую таблицу)
Тема макросов еще далеко не закрыта, учиться, учиться и еще раз учиться!!
|
|
|
Пользователь сказал cпасибо:
|
|
12.03.2013, 00:05
|
#86
|
Местный
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,834
Поблагодарили 9,536 раз(а) в 1,526 сообщениях
Вес репутации: 2237
|
Для подобной сортировки можно пользовать формулу НАИМЕНЬШИЙ.
Собственно формула в примере - это:
НАИМЕНЬШИЙ($A$8:$A$16;СТРОКА(A8)-СТРОКА($A$8)+1),
где $A$8:$A$16 - это сортируемый диапазон, а A8 - начальная ячейка.
Во вложенном примере есть также формула ЕОШИБКА для обработка пустот в беспорядочных данных.
Пример во вложении. Успехов в изучении!
Последний раз редактировалось AndrewP; 15.12.2014 в 02:57.
|
|
|
3 пользователя(ей) сказали cпасибо:
|
|
12.03.2013, 10:56
|
#87
|
Местный
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,834
Поблагодарили 9,536 раз(а) в 1,526 сообщениях
Вес репутации: 2237
|
Ещё вариант: использовать автофильтры.
Допустим, у нас есть область, куда постоянно вставляются скопированные из ПРО100 данные, в нашем примере это B1: D17, выделяем этот диапазон и
присваиваем ему имя, например "то_что_надо_отфильтровать". Имя диапазону присваивается в верхнем левом углу над таблицей
имя должно начинаться с буквы и не содержать пробелов
После ввода имени, нажимаем энтер - имя присвоено.
Теперь заданному диапазону задаём автофильтрацию. Данные-Фильтр-Автофильтр (или в экселе2007 Данные -Фильтр)
Появляются вот такие кнопочки в нашем диапазоне.
теперь нажимая на них можем задать условия фильтрации и сортировки.
Получаем результат (например сортируя столбец В по убыванию)
Поизучайте функции автофильтра, задавая ему разные опции и условия
Так же все вышепечисленные действия можно записать в макрос.
|
|
|
3 пользователя(ей) сказали cпасибо:
|
|
12.03.2013, 20:49
|
#88
|
Новичок
Регистрация: 23.01.2012
Сообщений: 19
Сказал(а) спасибо: 148
Поблагодарили 35 раз(а) в 7 сообщениях
Вес репутации: 0
|
Это конечно интересно, но усложним задачу. Из PRO100 копируем детали заказа. Имеем ЛДСП 10 мм, ЛДСП 16 мм, Стекло, Зеркало (к примеру). В Excel есть несколько таблиц название которых соответствуют используемым материалам(различной толщины ЛДСП, стекло, зеркало, ДВПО и др.). Фильтра настроены соответственно, все фильтруется визуально все хорошо. Но, при подсчете, к примеру, кол-во деталей Excel считает в каждой таблице общее кол-во деталей не смотря на то что часть деталей скрыты. Как от этого избавится.
|
|
|
12.03.2013, 23:21
|
#89
|
Местный
Регистрация: 13.08.2010
Сообщений: 1,615
Сказал(а) спасибо: 11,834
Поблагодарили 9,536 раз(а) в 1,526 сообщениях
Вес репутации: 2237
|
Цитата:
Сообщение от Рудольф
зеркало, ДВПО и др.). Фильтра настроены соответственно, все фильтруется визуально все хорошо. Но, при подсчете, к примеру, кол-во деталей Excel считает в каждой таблице общее кол-во деталей не смотря на то что часть деталей скрыты. Как от этого избавится.
|
С помощью формулы ПРОМЕЖУТОЧНЫЕ.ИТОГИ
Во вложенном примере ячейка Е2 содержит формулу
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;E5:E20)
где 9 - это признак того, что суммируются отфильтрованные значения в в диапазоне E5:E20. Также можно с помощью других признаков вычислять среднее, находить максимум, минимум и т.д.
Очень полезная функция в мебельных спецификациях.
Всячески рекомендую к изучению.
Последний раз редактировалось AndrewP; 15.12.2014 в 02:57.
|
|
|
4 пользователя(ей) сказали cпасибо:
|
|
13.03.2013, 14:36
|
#90
|
Местный
Регистрация: 01.06.2012
Адрес: Санкт Петербург
Сообщений: 191
Сказал(а) спасибо: 403
Поблагодарили 392 раз(а) в 113 сообщениях
Вес репутации: 284
|
Вопрос следующий:
Исходные данные-
а.моя таблица для расчетов(достаточно объемная для сохранения каждого расчета)
б. Необходимость сохранять данные из нее, не все, но несколько листов.
в.Часть кода(нарыл в сети):
Код:
ThisWorkbook.Worksheets(1).Copy
ActiveWorkbook.SaveAs "D:\1.xls"
Насколько я понял- макрос сохраняет текущий лист в новый файл, с названием 1.xls
Теперь вопрос, как сохранять сразу несколько листов( например первый, третий и пятый), что нужно поменять в макросе, чтоб он сохранялся каждый раз с новым названием, например- "Расчет мебели от 13 марта- номер 1", если дата будет прописана в таблице формулой "сегодня()", а номер выставляется по порядку.
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 00:31. Часовой пояс GMT +3.
|