Страницы: 1
RSS
Автоматический выбор формулы для расчета площади фигуры, выбранной из выпадающего списка
 
Добрый день, интересует вопрос, как можно к выпадающему списку прикрепить уже созданные макросы, чтобы исключить человеческий фактор? Я так понимаю вариант будет не из простых?
 
пример
 
А где список? И чего прикрепить? И как должно работать?
Ну или как в примере
Изменено: Alemox - 05.12.2018 14:59:00
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
VМакросы прописаны одноименными названиями как фигуры в выпадающем списке (прямоугольник, треугольник, трапеция, шестигранник). И рассчитывают площадь в ячейке "расчет макроса", столбец "С". Команда макроса: треугольник - р, трапеция - т, прямоугольник - п, шестигранник - ш.
Как проще сделать без использования макроса не смог придумать.

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

Как по другому прикрепить формулы расчета площади к выпадающему списку не придумал.
 
Цитата
vad348 написал:
есть более простые решения
м.б. так? Смотрите в Диспетчере имен. Всё без макросов.
Изменено: Михаил Лебедев - 12.12.2018 04:14:56
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
vad348 написал:
выбор макроса из выпадающего списка
жмите Alt+F8, выбирайте из списка  
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Примерно так это реализовано и было. Выбираешь макрос командой.
Хотелось бы привязать к выпадающему списку формулу расчета.
 
Цитата
vad348 написал:
Выбираешь макрос командой.
какой командой Вы выбираете макросы? или какой командой хотите выбрать?
Цитата
vad348 написал:
Хотелось бы привязать к выпадающему списку формулу расчета.
1. к какому списку?
2. какую формулу?
3. что мешает это сделать?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Список это столбец "В" - формат фигур из выпадающего списка. А формулы прописаны в макросах одноименных, также видны в ячейках столбца "С" расчет из макроса.
Через ВПР данный вариант реализовать не удалось, поэтому пришлось писать макросы.
 
Все макросы в одном
Код
    sGeometry = ActiveCell.Value
    
    Case sGeometry
    Case "т"
        ' формула трапеции
    Case "п"
        ' формула прямоугольника
    Case "зю"
        ' формула объемного треугольного квадратного круга
    ....
    End Select
 
Цитата
vad348 написал:
как можно к выпадающему списку прикрепить уже созданные макросы, чтобы исключить человеческий фактор?
для кого создан выпадающий список? (случайно, не для оператора, который должен выбрать что-то из этого списка?)
как Вы собираетесь исключить человеческий фактор, если именно "этот фактор" должен произвести выбор из списка? и весь этот список без человека, который что-то из него выберет - бессмысленен.
Цитата
vad348 написал:
для расчета площади фигуры
для расчета площади фигуры не достаточно знать только тип фигуры, нужно еще знать параметры этой фигуры (как минимум 1 парметр, а как максимум, например для замкнутой ломаной нужно знать координаты Х, У всех ее узлов)
Цитата
vad348 написал:
поэтому пришлось писать макросы
макросы написаны - проблема решена. пусть считают площади. что еще-то нужно?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Михаил Лебедев написал:
м.б. так? Смотрите в Диспетчере имен. Всё без макросов.
Доктор: - На что жалуетесь?
Пациент: - Меня все игнорируют!
Доктор: - Следующий!
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Про диспетчер не совсем понял, как это поможет?
 
Цитата
vad348 написал:
как это поможет?
Вы файл смотрели? Из сообщ. #5 ?
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Страницы: 1
Наверх