Страницы: 1
RSS
Элементы управления формы
 
Есть несколько элементов управления, в частности раскрывающиеся списки. Надо что бы при выборе какого-нибудь пункта из списка, блокировался другой раскрывающийся список или несколько списков, или элементов управления.  
 
Вот например как тут: http://kupipolis.ru/calc_osago.htm  
Это калькулятор осаго, когда выбираешь пункт Тип ТС: грузовой а/м, то становится неактивным поле "Мощность ТС".  
 
Вот хотелось бы добиться того же в экселе, но не понимаю как, дело даже не в том функциями или макросами, а в том как вообще сделать неактивным элемент. Пытался сделать макрос, чтоб на этом месте полупрозрачный объект появлялся и блокировал собой возможность нажатия на список, но он никак не уходит на задний план.
 
У всех элементов управления есть свойства .Visible и .Enabled. Первое делает элемент невидимым, второе неактивным. Управляйте этими свойствами и получите желаемое... Лучше такие примочки делать на UserForm, на листе Вам будет сложнее управлять формами. Но ничего невозможного нет...
 
Вот пример. Помечаете имя красным и второй список будет не активным.
 
Спасибо, понятно. Это элементы управления ActiveX, а не управления формы (с ней по видимому нельзя ничего сделать) =)))
 
На самом деле формы это те же элементы управления, но оформленные через меню (для пользователей, которые не знакомы с VBA). Для Вашей задачи конечно не подходят, так как и не предназначены для этого. Огромное спасибо MicroSofty, что оставили возможность конструировать формы пользователям самостоятельно (меню Элементы управления).
 
Блин битый час сижу уже, ничего не получается.  
 
Прикладываю файл с работой которую делаю.  
 
В общем на первом листе (осаго) я сделал табличку (это до того как я задал тут вопрос)  
Там выбираются элементы из списка и потом с помощью функции выбор (сейчас я понял что можно использовать индекс) в ячейках придаётся соответствующее значение, т.е. выбираем тип тс и получаем цену.  
 
А на втором листе (Осаго2) я начал делать с элементами формы АктивХ, а она вместо порядковых номеров элементов списка, вписывает в ссылаемую ячейку (LincedCell) текст. В общем, при выборе, он пишет в А27 например "легковой ам", мне надо что бы в другой ячейке (или в этой же) происходило сравнение с табличкой B27:C40 и возвращало значение цены например при "легковой а/м" писало 1980, если "прицеп" то 810 и т.д.  
 
Я перепробовал функции бизвлечь, впр и индекс. Но то ли я их неправильно задаю, то ли они тут не подходят, в общем у меня не получается.  
 
Заранее спасибо.
 
Спасибо, нашёл тут http://www.planetaexcel.ru/tip.php?aid=102  
 
=ИНДЕКС(B27:C40;ПОИСКПОЗ(A27;B27:B40;0);2)  
 
 
УРААААААА!!!!!!!!!! =)))))))))
Страницы: 1
Читают тему
Наверх