|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.03.2009, 11:03 | #1 |
Регистрация: 20.02.2009
Сообщений: 5
|
Как ограничить выбор списка или сделать зависимость?
Здравствуйте!
Прикладываю файл «111». В нём есть колонки «F» и «G», заполнение которых строго ограничено выбором из списка (лист «SK»). Если мы перейдём на лист «SK», то можно увидеть зависимость: К категории 1.СП должен относится список с 1.1. по 1.19. (красный цвет) К категории 2.ТРУД должен относится список с 2.1. по 2.3. (оранжевый цвет) и т.д. Что нужно: Когда человек заполняет колонку «F», то, к примеру, при выборе 2.ТРУД, ему в следующей колонке «G» должен предлагаться не весь список, а только с 2.1. по 2.3. Т.е. необходимо поставить зависимость пунктов 1. с подпунктами 1.1., 1.2., 1.3…. Зависимость пунктов 2. с подпунктами 2.1., 2.3… и т.д. И ещё у меня таких файлов много, как распространить программу на все файлы? Заранее благодарен! Вы меня спасёте, если поможете! Последний раз редактировалось Стасон; 27.03.2009 в 12:55. |
27.03.2009, 13:13 | #2 | |
Регистрация: 20.02.2009
Сообщений: 5
|
Цитата:
|
|
27.03.2009, 13:53 | #3 |
Форумчанин
Регистрация: 20.05.2008
Сообщений: 241
|
Стасон, посмотрите это "http://www.planetaexcel.ru/tip.php?aid=64" - связанные списки. Свой "SK" перестройте и получите: если в F5 2.Труд, то в G5 можно будет вводить от 2.1 до 2.3...
|
27.03.2009, 14:27 | #4 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
На листе "База" есть макрос. Посмотри его. Он конечно не оптимизирован, но суть показывает(работает).
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 6 Then j = Target.Value j = Left(j, 1) Select Case j Case 1 ActiveWorkbook.Names.Add Name:="ПРЕДМЕТ1", RefersToR1C1:="=SK!R2C2:R20C2" Case 2 ActiveWorkbook.Names.Add Name:="ПРЕДМЕТ1", RefersToR1C1:="=SK!R21C2:R23C2" Case 3 ActiveWorkbook.Names.Add Name:="ПРЕДМЕТ1", RefersToR1C1:="=SK!R24C2:R25C2" Case 4 ActiveWorkbook.Names.Add Name:="ПРЕДМЕТ1", RefersToR1C1:="=SK!R26C2:R31C2" End Select With Target.Next.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=ПРЕДМЕТ1" End With End If End Sub
Можно сделать все! Было бы время, да деньги...
|
29.03.2009, 09:18 | #5 |
Регистрация: 20.02.2009
Сообщений: 5
|
Спасибо. Всё получилось.
Дай Бог Вам здоровья! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как ограничить дли строки или слова? | AgentVlad | PHP | 5 | 19.03.2009 22:19 |
как сделать фильтр для списка combobox ? | sergey113 | Помощь студентам | 2 | 13.08.2008 16:29 |
Как сделать выбор параметра запроса из таблицы | valery | Microsoft Office Access | 1 | 30.11.2007 11:17 |
Выбор вопроса из списка | steck | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 19.08.2007 23:32 |
Как сделать, чтобы один элемент списка в ComboBox писался в несколько строк? | Andr | Общие вопросы Delphi | 5 | 15.08.2007 22:24 |