|
|
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
Есть excel-файл, состоящий из 2 листов: * Лист1 содержит данные по сотрудникам (ФИО, Должность, Оклад...) * Лист2 содержит список должностей Возможно ли без макросов связать столбец "Должность" на Листе1 со списком из Листа2. Чтобы при щелчке по ячейке в столбце "Должность" выпадал список с должностями из Листа2. Вопрос: Возможно ли это сделать без макросов. Если да, то как? Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 15:13:06 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
Если без макроса не обойтись, то подскажите код такого макроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 15:25:51 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
1. Выделяешь диапазон, в котором находятся все должности напервом листе 2. задаешь этому диапазону имя, например "Positions" 2. выделяешь диапазон на втором листе, где должен появляться список 3. меню Data - > Validation: вкладка Settings, поле Allow указываешь List, поле Source указываешь ="имя твоего диапазона", например "=Position" PS а лучше иметь отдельный список позиций а не брать с рабочего листа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 15:50:07 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
Я использую динамические списки: На листе, где расположен список присваиваешь диапазону имя н-р: Категория А в строке "формула" пишешь: ="Служебный!$A$2:"&АДРЕС(СЧЁТЗ(Служебный!$A$2:$A$100)+1;1) (см рис) Затем на листе, кот использует этот список делаешь как указал vbapro, но в источнике я указываю формулу =ДВССЫЛ(Категория) ЗЫ Лист служебный у меня Hidden, а значения в него добавляются макросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 16:15:00 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
1111ффффЯ использую динамические списки: На листе, где расположен список присваиваешь диапазону имя н-р: Категория А в строке "формула" пишешь: ="Служебный!$A$2:"&АДРЕС(СЧЁТЗ(Служебный!$A$2:$A$100)+1;1) (см рис) Затем на листе, кот использует этот список делаешь как указал vbapro, но в источнике я указываю формулу =ДВССЫЛ(Категория) ЗЫ Лист служебный у меня Hidden, а значения в него добавляются макросом Данное решение можно значительно упростить использовав лишь одно имя и 2 функции. Т.е. создаешь имя , например Категория , со след. формулой: =Служебный!$A$2:ИНДЕКС(Служебный!$A:$A;СЧЁТЗ(Служебный!$A:$A)) KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 18:46:30 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
всё связал через ДАННЫЕ -> ПРОВЕРКА -> СПИСОК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2007, 14:38:31 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
А как ограничить пользователя, что бы он мог выбирать значения для конкретной ячейки только из выпадающего списка, а свои значения вписывать вручную не мог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 10:16:19 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
Dark_ScorpionА как ограничить пользователя, что бы он мог выбирать значения для конкретной ячейки только из выпадающего списка, а свои значения вписывать вручную не мог. а разве [проверка] позволяет что-то ввести кроме как из списка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 10:31:49 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
vbaproа разве [проверка] позволяет что-то ввести кроме как из списка? Если выбрать сообщение об ошибке типа "Сообщение", то да. А если выбрать тип "Останов", то не разрешает, НО пользователь если произошёл "Останов" не может уйти с ячейки пока не введёт правильное значение и при этом выпадающий список БЛОКИРУЕТСЯ. Т.е. пользователь должен угадать правильное значение, не видя содержимого списка. Поэтому и хотелось бы ограничить пользователя от самой возможности изначально ввести ошибочное значение, типа заблоровать ввод с клавиатуры, а разрешить только выбрать значение из выпадающего списка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 10:51:14 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
если нажать отмена, то ячейка становится пустой и можно снова вводить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 11:13:54 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
vbaproесли нажать отмена, то ячейка становится пустой и можно снова вводить Да, но когда будет ошибка пользователь всё-таки сначала будет пробовать открыть выпадающий список, чтобы выбрать правильное значение, а если он перестанет выпадать, то у него у него может возникнуть недопонимание в чём дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 13:22:57 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
мое мнение - не нужно изобретать велосипед. Тем не менее, на форуме есть топики, например http://www.sql.ru/forum/actualthread.aspx?tid=160384 , на основе примеров которых можно сделать такую проверку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 13:34:54 |
|
||
|
Excel - Связывание данных
|
|||
|---|---|---|---|
|
#18+
Макросы использовать нельзя. Ну в принципе функциональность реализована, а это всего лишь косметическое пожелание. Я думал всего лишь надо где-то галочку поставить, чтобы ввод с клавиатуры был блокирован, а возможно было только выбирать значения из выпадающего списка. Это как в Delphi у ComboBox если свойство Style=csDropDown, то можно набрать значение на клаве, а если =сsDropDownList, то есть возможность только выбора, символы на клавиатуре не набираются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 15:01:20 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34341412&tid=2183400]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 306ms |

| 0 / 0 |
