Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] как создать в эксель расскатывающийся список? (http://forum.oszone.net/showthread.php?t=207181)

Pozia 19-05-2011 11:50 1679005

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

okshef 19-05-2011 11:55 1679010

Перейдите на вкладку "разработчик", "Вставить" - Элемент управления "Поле со списком". В формате объекта задайте соответствие диапазону ячеек и связанную ячейку. Если не понятно - попозже (к вечеру) выложу примерный файлик.

Pozia 19-05-2011 11:59 1679013

что то не могу найти вкладку разработчик. Вы с названием не ошиблись?

okshef 19-05-2011 12:10 1679018

Отображение вкладки разработчика или запуск в режиме разработчика - Microsoft Office

Pozia 19-05-2011 12:11 1679019

нашел. Но теперь я не могу решить вторую часть своего замысла. Поможете?
Описываю подробнее. Допустим есть 3 строки по 5 столбцов с данными. Этим расскатывающимся списком я выбираю нужную мне строку, и данные из этой строки должны попасть в другую, нужную мне строку.

okshef 19-05-2011 12:13 1679021

Выложите примерный файл, я посмотрю вечером. Еще подсказка: покурите функцию "ИНДЕКС"

Pozia 19-05-2011 12:31 1679031

вот файл

Pozia 19-05-2011 12:36 1679034

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

okshef 19-05-2011 22:21 1679279

Вложений: 3
В файле вы можете прикрыть ячейку D4 элементом управления (чтобы ее не было видно). Внимательно изучите формулы в диапазоне B3:G3
Будут вопросы - спрашивайте.

Pozia, прошу прощения - делал в спешке. Если в функции ИНДЕКС вместо номеров столбцов (1, 2,....6) поставить 0, то формулы в ячейках B3:G3 будет одинаковыми, а следовательно их можно размножить "перетаскиванием", и они станут независимы от количества столбцов. Но это в том случае, если таблица, в которую переносятся данные находится строго над или под таблицей с данными. В другом случае столбцы нужно нумеровать.
Как вы заметили, нумерация столбцов начинается с 1.

Pozia 19-05-2011 22:45 1679299

okshef, что то вечером плохо перевариваю сказанную вами информацию... может поправите эксель чтоб я воочию увидел?

okshef 19-05-2011 23:17 1679318

Файл поменял - три варианта и комментарии

v12345 20-05-2011 09:17 1679455

Вложений: 1
Во вложении альтернативный вариант - лист my. Думаю, он более прозрачный и наращиваемый.

- Вместо раскрывающегося списка использовано условие на значение (создается Данные - Проверка данных - Список)
- Присвоены имена, обращения в формулах идет по именам, что гибче
- Использована функция ВПР

okshef 20-05-2011 10:08 1679486

У ВПР есть известные ограничения по использованию - сортировка диапазона поиска и нахождение столбца (крайний левый), так что насчет гибкости - вопрос спорный, а вот насчет проверки данных - хорошая мысль: без использования элементов управления.

Есть вариант использования формул массива, но это - для особо продвинутых, да и замена данных - дело муторное.

v12345 21-05-2011 05:33 1679961

Цитата:

Цитата okshef
У ВПР есть известные ограничения по использованию - сортировка диапазона поиска и нахождение столбца (крайний левый) »

второй пункт - конечно, а сортировка, если я не ошибаюсь, важна только при использовании интервального просмотра, который не нужен для данной задачи

Pozia 21-05-2011 08:15 1679982

okshef, ваш метод для меня просто находка. Спасибо. Как этим методом использовать горизонтальные таблицы данных, а не как в моем примере вертикальную?

okshef 21-05-2011 10:53 1680022

Если я правильно понял, нужно сформировать диапазон выборки по горизонтальной строке? имхо, Excel этого делать не умеет. Поэтому нужно либо транспонировать диапазон, чтобы строки стали столбцами, либо писать макросы.
Или я не понял?

Pozia 22-05-2011 01:12 1680388

Цитата:

Цитата okshef
диапазон выборки по горизонтальной строке? »

угу
Цитата:

Цитата okshef
нужно либо транспонировать диапазон »

эт сложно?
Цитата:

Цитата okshef
либо писать макросы »

эт видимо круто для меня и не принципиально сейчас

v12345 22-05-2011 05:56 1680419

Цитата:

Цитата Pozia
Как этим методом использовать горизонтальные таблицы данных, а не как в моем примере вертикальную? »

Возможно, достаточно в моем варианте заменить ВПР на ГПР.

Если этот вариант не катит, то точнее пояснить, что имеется в виду.

okshef 22-05-2011 10:21 1680457

v12345, как всегда - спасибо за напоминание.

Pozia, файл в посте 9 обновил - Рама-mod.xls.

Pozia 23-05-2011 19:58 1681253

okshef, не совсем то, что мне нужно, ну да ладно... единственное скажите как вы сделали чтобы стрелка в раскрывающемся списке появлялась при нажатии на клетку а не все время там была?
v12345, по вашему методу не правильно работает. Например, если выбрать сортировку по R=6 а затем по h=65 то не те значения выставятся.

okshef 23-05-2011 20:54 1681295

Pozia, в сообщении у v12345 это написано:
Цитата:

Цитата v12345
Вместо раскрывающегося списка использовано условие на значение (создается Данные - Проверка данных - Список) »

затем выбирается диапазон.

Цитата:

Цитата Pozia
не совсем то »

объясните тогда подробнее. В принципе, в файле изложена только методика.

Pozia 23-05-2011 21:30 1681325

okshef, ну все тоже как изначально, только данные в таблице идут не сверху вниз, а слева направо.

okshef 23-05-2011 21:53 1681335

То есть в верхней строчке нижней таблицы: 5П 6,5П 8П 10П
А в левом столбце
h
b
s
t
R
r1

Так?
А результат в верхней таблице в виде строчки h b s t R r1?

Pozia 23-05-2011 22:35 1681370

Цитата:

Цитата okshef
Так? »

угу
Цитата:

Цитата okshef
А результат в верхней таблице в виде строчки h b s t R r1? »

в данном случае да, но предполагается что в будущем мне понадобится и так и так (результат в верхней таблице)

okshef, я в теме еще одну тему с головоломкой для меня создал. мот глянете. она для меня более сейчас приоритетна.

okshef 24-05-2011 00:44 1681435

Рама-mod.xls - лист 3

Pozia 24-05-2011 09:28 1681535

okshef, все понял кроме того как вы делаете эту хитрую кнопку )

okshef 24-05-2011 11:05 1681584

Видеоинструкция

Pozia 24-05-2011 19:23 1681903

okshef, клевая инструкция!!! ) Назрел еще вопрос. Простите за назойливость. Вот есть у меня ряд чисел - 2 10 25 34 (к примеру). Можно ли организовать раскатывающийся список на эти числа (по обеим методикам получения кнопки) не делая при этом таблицу данных из этих числе. То есть чтобы раскатывающийся список содержал в себе эти числа, а на эту клетку у меня будет ссылаться формула и будут производиться расчеты.

okshef 24-05-2011 20:34 1681937

Без таблицы, не используя макросы, нельзя. Где вы будете хранить ваши числа? Можете использовать другой лист, чтобы на "расчетном" листе не было "постороннего"

Pozia 25-05-2011 15:53 1682355

okshef, а с макросами сложно?
И еще вопрос по последнему виду раскатывающего списка через проверку данных. Как увеличить список свыше 8 по умолчанию?

okshef 25-05-2011 22:01 1682594

Pozia, простите мою сегодняшнюю усталость - Учебник VBA

Pozia 25-05-2011 22:05 1682599

okshef, ну хоть буду знать как называется в чем разбираться. но пака не до подробного изучения. сейчас нужны ответы на вопросы для работы. будет время попробую глубже изучить эксель и VBA ). А по поводу
Цитата:

Цитата Pozia
И еще вопрос по последнему виду раскатывающего списка через проверку данных. Как увеличить список свыше 8 по умолчанию? »

не подскажете?

okshef 25-05-2011 22:07 1682602

Цитата:

Цитата Pozia
Как увеличить »

не знаю.

ferget 25-05-2011 22:51 1682632

Pozia, у меня эти списки создаются без ограничений

можете дать документ, где есть ограничения?

Pozia 25-05-2011 22:57 1682636

ferget, держите

okshef 25-05-2011 23:04 1682641

Pozia, Выпадающий список в ячейке - способ с элементом ActiveX

Pozia 26-05-2011 12:56 1682970

метод актив больше всего понравился своей гибкостью настроек. Не могу понять только как сделать чтобы в целевой ячейки выводилось не содержание массива, а номер выбранной строки?

okshef 26-05-2011 13:10 1682979

Тогда нужен не ActiveX, а элемент управления

Pozia 26-05-2011 13:14 1682982

и почему мелкософт не могут сделать все до конца? Чтобы все везде было. Ладно... Буду условиями добивать.

Pozia 30-05-2011 07:54 1684888

okshef, вы мне советовали функцию Индекс. А как будет обратная команда? Список полученный через проверку параметров дает сразу число из таблицы, а мне уже нужен номер строки из этой таблицы )

okshef 30-05-2011 11:01 1684958

Pozia, мне проще вам дать макрос
Код:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
R = Target.Row
C = Target.Column
MsgBox "Строка=" & R & "; Столбец=" & C
End Sub

Для изучения: создайте новую книгу, скопируйте текст выше, откройте редактор VBA, откройте "Лист1", вставьте скопированный текст, перейдите из редактора VBA на Лист 1 в книге и начните щелкать по ячейкам.

Свойство Target.Row возвращает номер строки выделенной ячейки.

P.S. А номер строки возвращает функция СТРОКА. Подумайте, как ее "прикрутить" к вашей задаче.


Время: 14:28.

Время: 14:28.
© OSzone.net 2001-