Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2009, 10:17   #1
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию Формирование раскрывающийся список

Доброго времени суток!
Помогите пожалуйста разобраться с раскрываающимся списком.
Цель такая: на листе в опрделенные ячейки А1:АN (N заранее не известно)вносятся пути к файлам. Мне нужно чтобы в ячейке B2 при нажатии выскакивал раскрывающийся список содержащий эти самые пути. Причем этот список сам менялся по мере изменения содержимого и количества записей в ячейках А1:АN. Кстати выбранный путь к файлу, потом будет юзаться в последующем коде, поэтому подскажите, как присвоить какой-нибудь переменной значение, выбранное из раскрывающего списка.
mephist вне форума Ответить с цитированием
Старый 13.08.2009, 10:32   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

А Проверка Данных-Список чем не подходит? Создаете динамический именованный диапазон и прописываете его в Проверке. А путь макросом можно брать просто указав значение ячейки со списком.

P.S. От Вас маленький пример - от нас решение.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 13.08.2009, 10:41   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Пока Вас не было уже свой пример сделал. Разбирайтесь и переделывайте под себя.
Вложения
Тип файла: rar mephist.rar (10.8 Кб, 40 просмотров)
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 13.08.2009, 10:44   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно так: в модуль нужного листа поместите код
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = [B2].Address Then myPath = Target
    If Target.Column <> 1 Then Exit Sub
    If Target.Cells.Count > 1 Then Exit Sub
    Dim s As String, i As Long
    For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row: s = s & "," & Cells(i, 1): Next
    s = Right(s, Len(s) - 1)
    [B2].Validation.Delete: [B2].Validation.Add Type:=xlValidateList, Formula1:=s
End Sub
А в общем программном модуле объявите переменную
Код:
Public myPath As String
После зтого, переменная будет доступна любой процедуре в любое время. Хотя я в этом смысла не вижу. всегда можно воспользоваться ссылкой на ячейку со списком о которой говорил The_Prist.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 13.08.2009, 10:52   #5
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию

Prist скушал мой мозг. Динамический именованный диапазон для меня загадка. Давайте разберемся на примере. Я в принципе понимаю, что задача не сложная, но я никогда не имел дела ни с чем подобным.
Если честно, я даже не смог создать обычный раскрывающийся список в своем примере. Если не сложно можете обьяснить, что к чему.
А что касается примера,то список путей там приведен. В идеальном варианте я бы хотел увидеть в раскрывающемся списке, список конечных папок(то есть HEAD,QWERTY,SAD,GHJNN). После того как пользователь выберет папку, мне нужно соотнести ее с путем к ней. В дальнейшем мне будет нужен только путь, а лист со списком вообще удалится. Я его использую как диалоговое окно, чтобы узнать с какой именно директорией мне нужно работать в дальнейшем.
mephist вне форума Ответить с цитированием
Старый 13.08.2009, 10:56   #6
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию

Вот пример
Вложения
Тип файла: rar пример.rar (6.4 Кб, 28 просмотров)
mephist вне форума Ответить с цитированием
Старый 13.08.2009, 11:18   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

См. пример во вложении.
Вложения
Тип файла: rar пример_2.rar (13.1 Кб, 34 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Раскрывающийся список segail Microsoft Office Excel 16 25.06.2010 17:55
Раскрывающийся список segail Microsoft Office Excel 22 19.07.2009 19:34
Раскрывающийся список значений, макросом. Flangini Microsoft Office Excel 13 22.06.2009 17:01
исчез раскрывающийся список Nando Microsoft Office Excel 6 13.05.2009 22:41
Раскрывающийся список sergiksergik Microsoft Office Excel 3 31.03.2009 22:48