Форум профессиональных мебельщиков PROMEBELclub

Форум профессиональных мебельщиков PROMEBELclub (https://промебельклуб.рф/forum/index.php)
-   Программы для конструирования и дизайна мебели (https://промебельклуб.рф/forum/forumdisplay.php?f=4)
-   -   Exсel. Помощь по составлению таблиц и созданию макросов в мебельных расчётах (https://промебельклуб.рф/forum/showthread.php?t=5953)

_konstruktor_ 18.02.2013 04:39

Вложений: 1
если "наполнение" делит дверь на равны части можно так:

sibmebel 18.02.2013 18:41

Вложений: 1
Цитата:

Сообщение от AndrewP (Сообщение 218249)
скан почеркушки на листке, что должно быть на входе (какие есть варианты систем и предельные размеры/ограничения) и что желаете видеть на выходе.

Покумекаем вместе?

Накалякал для покумекования)

sparkfire 24.02.2013 14:36

Ребят, снова всем привет, у меня небольшой практический вопрос:
Часто приходится делать деталировку объектов для распила, работаю в про100, но бывает так, что одна и та же деталь повторяется в нескольких модулях.
Прошка по умолчанию соединяет их вместе, но только в том случае, если они совершенно одинаковые, но если получается, что для детали требуется разное кромление, например, в одной - по длинной стороне, а в другой- по одной длинной и одной короткой- тогда программа выдает в списке две разные позиции. Распиловщики, где заказываю услугу- ругаются, требуют объединять одинаковые позиции, но , когда заказ большой- это бывает очень сложно сделать.
Просьба следующего плана: необходим завязанный на комбинацию клавиш макрос, который в таблице будет искать одинаковые строки в заданном диапазоне, и выделять их цветом, либо (это сложнее) самостоятельно объединять.

AndrewP 24.02.2013 23:19

Цитата:

Сообщение от sibmebel (Сообщение 218359)
Накалякал для покумекования)

Кумекаю. Скоро выложу альфа-версию.

Цитата:

Сообщение от sparkfire (Сообщение 219066)
...который в таблице будет искать одинаковые строки...

Это можно решить простой сортировкой.
Например, есть деталировка (у меня свой формат - не PRO100-шный, но смысл один и тот же)

http://www.picshare.ru/uploads/130224/62c1S3BOFS.jpg

Выделяем строки для сортировки.

http://www.picshare.ru/uploads/130224/gD7gBz41BH.jpg

Задаём сортировку: вначале сортируем по столбцу "В" - "Материалы", например, по убыванию; потом по столбцам "С" - "Длина" и "D" - "Ширина": тоже по убыванию - от большего к меньшему .

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

http://www.picshare.ru/uploads/130224/897H29fn1d.jpg


Ну, а макрос попробуйте записать макрорекордером. Более сложные и (или) другие варианты рассмотрим, если понадобится, в следующий раз.

Файл примера во вложении.

sparkfire 11.03.2013 16:35

Вопрос , наверное, дурацкий, но можно ли завязать на макрос удаление пустых строк в заданном диапазоне со смещением вверх, не прибегая к сортировке?
Суть в чем: Продолжаю биться все над той же таблицей

Скрытый текст

(есть готовые части, есть неоконченные)http://s017.radikal.ru/i409/1303/2b/596f87ca4821.jpg
[свернуть]
, по расчету заказов, и случай такой, что данные из про100 копируются , очищается от предыдущих данных кнопкой таблица, другой кнопкой вставляется массив данных в нужное место, и если деталь в проекте помечена как "фасад"- идет копирование на другой лист, который занимается только фасадами, все сложно, количество строк- 60, позиций фасадов, как вы понимаете, меньше, чтоб не работать с нулями, можно ли завязать на кнопку очищение пустых строк именно заданного участка, со смещением вверх, до ближайшего заполненного поля?
Скрин промежутойной таблицы(как раз тот случай, когда условное форматирование выдает данные в новую таблицу)http://s018.radikal.ru/i517/1303/3f/18181f85aee7.jpg

Тема макросов еще далеко не закрыта, учиться, учиться и еще раз учиться!!

AndrewP 12.03.2013 00:05

Для подобной сортировки можно пользовать формулу НАИМЕНЬШИЙ.


Собственно формула в примере - это:

НАИМЕНЬШИЙ($A$8:$A$16;СТРОКА(A8)-СТРОКА($A$8)+1),

где $A$8:$A$16 - это сортируемый диапазон, а A8 - начальная ячейка.
Во вложенном примере есть также формула ЕОШИБКА для обработка пустот в беспорядочных данных.
Пример во вложении. Успехов в изучении!

AndrewP 12.03.2013 10:56

Ещё вариант: использовать автофильтры.
Допустим, у нас есть область, куда постоянно вставляются скопированные из ПРО100 данные, в нашем примере это B1: D17, выделяем этот диапазон и
http://www.picshare.ru/uploads/130312/F85YGFpQw7.jpg

присваиваем ему имя, например "то_что_надо_отфильтровать". Имя диапазону присваивается в верхнем левом углу над таблицей
http://www.picshare.ru/uploads/130312/vxRYH95U1d.jpg
имя должно начинаться с буквы и не содержать пробелов
После ввода имени, нажимаем энтер - имя присвоено.
Теперь заданному диапазону задаём автофильтрацию. Данные-Фильтр-Автофильтр (или в экселе2007 Данные -Фильтр)

Появляются вот такие кнопочки в нашем диапазоне.
http://www.picshare.ru/uploads/130312/PUhkMOvJRW.jpg
теперь нажимая на них можем задать условия фильтрации и сортировки.

Получаем результат (например сортируя столбец В по убыванию)
http://www.picshare.ru/uploads/130312/nKO9j2i7Gd.jpg

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

Так же все вышепечисленные действия можно записать в макрос.

Рудольф 12.03.2013 20:49

Это конечно интересно, но усложним задачу. Из PRO100 копируем детали заказа. Имеем ЛДСП 10 мм, ЛДСП 16 мм, Стекло, Зеркало (к примеру). В Excel есть несколько таблиц название которых соответствуют используемым материалам(различной толщины ЛДСП, стекло, зеркало, ДВПО и др.). Фильтра настроены соответственно, все фильтруется визуально все хорошо. Но, при подсчете, к примеру, кол-во деталей Excel считает в каждой таблице общее кол-во деталей не смотря на то что часть деталей скрыты. Как от этого избавится.

AndrewP 12.03.2013 23:21

Цитата:

Сообщение от Рудольф (Сообщение 221726)
зеркало, ДВПО и др.). Фильтра настроены соответственно, все фильтруется визуально все хорошо. Но, при подсчете, к примеру, кол-во деталей Excel считает в каждой таблице общее кол-во деталей не смотря на то что часть деталей скрыты. Как от этого избавится.

С помощью формулы ПРОМЕЖУТОЧНЫЕ.ИТОГИ
Во вложенном примере ячейка Е2 содержит формулу

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;E5:E20)

где 9 - это признак того, что суммируются отфильтрованные значения в в диапазоне E5:E20. Также можно с помощью других признаков вычислять среднее, находить максимум, минимум и т.д.

Очень полезная функция в мебельных спецификациях.
Всячески рекомендую к изучению.

sparkfire 13.03.2013 14:36

Вопрос следующий:
Исходные данные-
а.моя таблица для расчетов(достаточно объемная для сохранения каждого расчета)
б. Необходимость сохранять данные из нее, не все, но несколько листов.
в.Часть кода(нарыл в сети):
Код:

ThisWorkbook.Worksheets(1).Copy
 ActiveWorkbook.SaveAs "D:\1.xls"

Насколько я понял- макрос сохраняет текущий лист в новый файл, с названием 1.xls
Теперь вопрос, как сохранять сразу несколько листов( например первый, третий и пятый), что нужно поменять в макросе, чтоб он сохранялся каждый раз с новым названием, например- "Расчет мебели от 13 марта- номер 1", если дата будет прописана в таблице формулой "сегодня()", а номер выставляется по порядку.


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

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL