Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Связывание списков / 16 сообщений из 16, страница 1 из 1
02.10.2007, 12:39:48
    #34840520
Exel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
Добрый день.
Есть след задача...
В книге два листа.На втором листе создаю три имени
имя1 = {группа1,группа2}
имя2={для группы1, для группы1}
имя3={для группы2, для группы2}

теперь на первом листе создаю список Данные-Проверка-Список и вставляю "=имя1".Теперь выводятся значения из имя1.
Далее нужно создать второй список, чтобы он выводил в случае если указано "группа1", то значения из имя2, а если "группа2" то из имя3.
Причем нужно так чтобы, для каждой строчки в списке проверка была своя.Т.е. если несколько строк, и у каждой выбрана своя группа1 или группа2, то соответсвенно для каждой строки и в след. списке свои подгруппы.

Всем спаибо за ответы.

P/s/
Что то типо этого
товар1 | группа1 | для группы1

товар2 | группа2 | для группы2
...
Рейтинг: 0 / 0
02.10.2007, 13:20:27
    #34840668
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
Пример в файле нужен
как выглядят исходные данные и как выглядит форма ввода.

А вообще на форуме примеров много поищи!
...
Рейтинг: 0 / 0
02.10.2007, 14:25:47
    #34840946
Exel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
Разместил на ifolder пример точнее задачу =)
http://]ip.ifolder.ru/3568437
...
Рейтинг: 0 / 0
02.10.2007, 14:33:08
    #34840979
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
в модуле (или на листе)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub CreateSpisok(Target As Range, spisok As String)
    'target - куда устанавливается проверка
    'spisok - имя области для проверочных условий         
    With Target.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=" & spisok
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub
на листе
Код: plaintext
1.
2.
3.
4.
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column =  1  Then
        CreateSpisok Cells(Target.Row,  2 ), Target.Value
    End If
End Sub


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
02.10.2007, 14:44:18
    #34841029
Exel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
Спасибо, вы спец =).
А если формулами, то возможно?
пару примеров видел, но они в основном с ипсользование смещ.=(
...
Рейтинг: 0 / 0
02.10.2007, 14:48:15
    #34841047
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
если формулами, то тогда к Deggasad или KL (XL)


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
02.10.2007, 14:50:17
    #34841060
Exel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
Забыл уточнить, я могу сделать с помощбю функц. Если() , но он будет брать значение для сравнения, только из одной ячейки, а нужно чтобы в каждой(текущей) строке, определенный столбец.
Есть функция Строка(), но совместить совместно в Если(...) и к тому же указать что просматривается такой то столбец(относительное положение т.к. у каждой позиции свое значение) я чеготоникак не могу ,уже который день...
...
Рейтинг: 0 / 0
02.10.2007, 15:25:20
    #34841210
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
Думаю в данном случае лучше ограничиться 2-мя именованными диапазонами, смотри пример.
...
Рейтинг: 0 / 0
02.10.2007, 16:13:12
    #34841430
Exel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
еще раз большое списабо.
Только я также с помощью Если() могу сделать, а вся сложность в том что у каждой записи потом будет свое значение стоять, поэтому как то нужно относительно сделать чтоб не указывать конкретную ячейку, =ИНДЕКС(имя2;;ПОИСКПОЗ( B4 ;имя1;0)).Вот с этим не мучаюсь...
...
Рейтинг: 0 / 0
02.10.2007, 16:24:18
    #34841470
Exel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
А как вы сделали , что на каждой ячейке стоит проверять именно столбец B?
Или это автоматически при копировании формулы
...
Рейтинг: 0 / 0
02.10.2007, 18:05:45
    #34841917
SoftParanoik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
...
Рейтинг: 0 / 0
02.10.2007, 18:21:44
    #34841962
Exel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
Неплохой пример. Только опять ссылка на конкретную ячейку, а неплохо было бы на ячейку , на текущей строке.Я вот пытался с помощью Строка() это сделать + именование в стиле R1C1, но как то не получилось пока.


Кстати а в Excel есть ограничение на длину имени...Если есть то этот пример, только для небольших названий групп =)

SoftParanoik Спасибо большое.
...
Рейтинг: 0 / 0
03.10.2007, 07:32:40
    #34842538
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
Самое интересное, то что я вообще не пойму о чём вы говорите. Вы бы изобразили что ли. А то в сотый раз повторяете одно и то же про то что у каждой записи будет стоять своё какое-то значение с полной уверенностью, что вас пониммают. Я например с трудом.
...
Рейтинг: 0 / 0
03.10.2007, 09:48:31
    #34842723
SoftParanoik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
В дополнение к примеру

=ДВССЫЛ(АДРЕС(СТРОКА();3))
...
Рейтинг: 0 / 0
03.10.2007, 10:31:36
    #34842864
Exel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
SoftParanoikВ дополнение к примеру

=ДВССЫЛ(АДРЕС(СТРОКА();3))

Да это я и имел ввиду, ф-ия строка() определяет текущую строку, а не фиксированную(напр.A1, F3 и т.п.)
я сделал таким образом:

=ДВССЫЛ(ИНДЕКС(B:B;СТРОКА()))
предварительно задав имена группам,вообщем как указано здесь
http://]www.planetaexcel.ru/tip.php?aid=64&PHPSESSID=1dc06971490b7df5cf1ce54e58febb9c
...
Рейтинг: 0 / 0
03.10.2007, 11:15:00
    #34843004
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связывание списков
См ещё вариант без назначения кучи диапазонов
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Связывание списков / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]