Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Свойства элемента управления combobox - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Свойства элемента управления combobox
Мур Дата: Четверг, 31.01.2013, 21:04 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

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

Автор - Мур
Дата добавления - 31.01.2013 в 21:04
RAN Дата: Четверг, 31.01.2013, 21:27 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Мурат, ну что как новичек?
Файла нет.
Цитата (Мур)
В качестве источника данных для всех combobox использую динамически изменяемый диапазон

Вроде объясняли - не надо!
Цитата (Мур)
Какие свойства необходимо задать или что прописать, чтобы количество строк выпадающего списка
так же сокращалось?

Код написали.
И опять двадцать пять
Цитата (Мур)
Заранее благодарен!


Я, например, уже не знаю, что отвечать. sad


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеМурат, ну что как новичек?
Файла нет.
Цитата (Мур)
В качестве источника данных для всех combobox использую динамически изменяемый диапазон

Вроде объясняли - не надо!
Цитата (Мур)
Какие свойства необходимо задать или что прописать, чтобы количество строк выпадающего списка
так же сокращалось?

Код написали.
И опять двадцать пять
Цитата (Мур)
Заранее благодарен!


Я, например, уже не знаю, что отвечать. sad

Автор - RAN
Дата добавления - 31.01.2013 в 21:27
Мур Дата: Четверг, 31.01.2013, 21:46 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

RAN, Большое спасибо за помощь в предыдущей теме.
Я очень много оттуда почерпнул и научился.
Но для меня остался нерешенным вопрос про количество строк списка.
нечто подобное предложил Саня,
[vba]
Код
Private Sub UserForm_Initialize()
       ComboBox1.RowSource = ""
       For i = 1 To 9
           ComboBox1.AddItem i
       Next
End Sub
Private Sub ComboBox1_Change()
       With ComboBox1
           i = .ListIndex
           If i > -1 Then .RemoveItem i
       End With
End Sub
[/vba]
У него уменьшается количество строк.
Но то ли я его не понял, то ли это немного не то.
Искал в инете как задать изменяемое число строк в выпадающем списке, но не нашел.
Новую тему открыл потому, что она уже не очень стала соотвествовать названию.
Может я неправильно объясняю суть вопроса?
К сообщению приложен файл: dla_foruva_2.xlsm (20.0 Kb)


Сообщение отредактировал Мур - Четверг, 31.01.2013, 21:55
 
Ответить
СообщениеRAN, Большое спасибо за помощь в предыдущей теме.
Я очень много оттуда почерпнул и научился.
Но для меня остался нерешенным вопрос про количество строк списка.
нечто подобное предложил Саня,
[vba]
Код
Private Sub UserForm_Initialize()
       ComboBox1.RowSource = ""
       For i = 1 To 9
           ComboBox1.AddItem i
       Next
End Sub
Private Sub ComboBox1_Change()
       With ComboBox1
           i = .ListIndex
           If i > -1 Then .RemoveItem i
       End With
End Sub
[/vba]
У него уменьшается количество строк.
Но то ли я его не понял, то ли это немного не то.
Искал в инете как задать изменяемое число строк в выпадающем списке, но не нашел.
Новую тему открыл потому, что она уже не очень стала соотвествовать названию.
Может я неправильно объясняю суть вопроса?

Автор - Мур
Дата добавления - 31.01.2013 в 21:46
RAN Дата: Четверг, 31.01.2013, 22:26 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Цитата (Мур)
Может я неправильно объясняю суть вопроса?


Может я чего не понимаю?

Если заполнение идет через форму - зачем изменяющийся диапазон на листе?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Цитата (Мур)
Может я неправильно объясняю суть вопроса?


Может я чего не понимаю?

Если заполнение идет через форму - зачем изменяющийся диапазон на листе?

Автор - RAN
Дата добавления - 31.01.2013 в 22:26
Мур Дата: Четверг, 31.01.2013, 22:44 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

RAN,
Потому, что я не знаю как напрямую прописать диапазон в код формы.
Но это не имеет отношение к настоящему вопросу.
Цитата
Может я чего не понимаю?

Мне надо чтобы изменялся размер той выпадающей части combobox,
в которой содержится список значений.


Сообщение отредактировал Мур - Четверг, 31.01.2013, 22:46
 
Ответить
СообщениеRAN,
Потому, что я не знаю как напрямую прописать диапазон в код формы.
Но это не имеет отношение к настоящему вопросу.
Цитата
Может я чего не понимаю?

Мне надо чтобы изменялся размер той выпадающей части combobox,
в которой содержится список значений.

Автор - Мур
Дата добавления - 31.01.2013 в 22:44
RAN Дата: Четверг, 31.01.2013, 22:48 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Может это надо?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеМожет это надо?

Автор - RAN
Дата добавления - 31.01.2013 в 22:48
Мур Дата: Четверг, 31.01.2013, 23:07 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

RAN, Нет не то.
У меня, наверное знаний не хватае правильно объяснить.
Завтра приложу картинку.
 
Ответить
СообщениеRAN, Нет не то.
У меня, наверное знаний не хватае правильно объяснить.
Завтра приложу картинку.

Автор - Мур
Дата добавления - 31.01.2013 в 23:07
RAN Дата: Четверг, 31.01.2013, 23:13 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Так?
К сообщению приложен файл: 7485999.xlsm (17.2 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеТак?

Автор - RAN
Дата добавления - 31.01.2013 в 23:13
Мур Дата: Пятница, 01.02.2013, 23:18 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

RAN, порстите, только сейчас дорвался до компа.
Последний вариант самый приближенный к к тому что нужно.
Пока нет возможномти посмотреть внимательно. Я отпишусь позже.


Сообщение отредактировал Мур - Пятница, 01.02.2013, 23:28
 
Ответить
СообщениеRAN, порстите, только сейчас дорвался до компа.
Последний вариант самый приближенный к к тому что нужно.
Пока нет возможномти посмотреть внимательно. Я отпишусь позже.

Автор - Мур
Дата добавления - 01.02.2013 в 23:18
Мур Дата: Воскресенье, 03.02.2013, 16:43 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Приветсвую участниов форума!
RAN, приветсвую.
В общем как в том известном выражении: "Кто о чем, а вшивый о бане",
у меня опять про combobox. biggrin
Ваш последний вариант это почти то, что нужно.
Для наглядности я его продолжил на 10 элементов управления.
Получается, что во время заполнения формы, в каждом последующем comboboxе
количество выпадающих строк списка значений и самих значений становится
на один меньше чем в предыдущем, что мне и требовалось.
Но я предполагал, что после введения значения в любой из comboboxов,
изменения (то есть сокращение количества строк выпадающего списка), произойдет во всех
comboboxах формы, ссылающихся на один и тот же источник данных.
Отюда вытекает ответ на Ваш вопрос в сообщении №4
Цитата
Если заполнение идет через форму - зачем изменяющийся диапазон на листе?

Я считал, что должно быть так. По мере заполнения формы, сокращается диапазон возможных
для использования значений, и соответственно сокращается выпадающий список и его размер.
Такое возможно в Excel?
К сообщению приложен файл: Ran_5.xlsm (22.3 Kb)


Сообщение отредактировал Мур - Воскресенье, 03.02.2013, 16:44
 
Ответить
СообщениеПриветсвую участниов форума!
RAN, приветсвую.
В общем как в том известном выражении: "Кто о чем, а вшивый о бане",
у меня опять про combobox. biggrin
Ваш последний вариант это почти то, что нужно.
Для наглядности я его продолжил на 10 элементов управления.
Получается, что во время заполнения формы, в каждом последующем comboboxе
количество выпадающих строк списка значений и самих значений становится
на один меньше чем в предыдущем, что мне и требовалось.
Но я предполагал, что после введения значения в любой из comboboxов,
изменения (то есть сокращение количества строк выпадающего списка), произойдет во всех
comboboxах формы, ссылающихся на один и тот же источник данных.
Отюда вытекает ответ на Ваш вопрос в сообщении №4
Цитата
Если заполнение идет через форму - зачем изменяющийся диапазон на листе?

Я считал, что должно быть так. По мере заполнения формы, сокращается диапазон возможных
для использования значений, и соответственно сокращается выпадающий список и его размер.
Такое возможно в Excel?

Автор - Мур
Дата добавления - 03.02.2013 в 16:43
RAN Дата: Воскресенье, 03.02.2013, 16:54 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Не совсем понятна конечная цель.
По заполнению комбо - измените код так
[vba]
Код
Private Sub UserForm_Activate()
ComboBox1.List = Range(Range("C1"), Range("C" & Rows.Count).End(xlUp)).Value
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНе совсем понятна конечная цель.
По заполнению комбо - измените код так
[vba]
Код
Private Sub UserForm_Activate()
ComboBox1.List = Range(Range("C1"), Range("C" & Rows.Count).End(xlUp)).Value
End Sub
[/vba]

Автор - RAN
Дата добавления - 03.02.2013 в 16:54
Мур Дата: Воскресенье, 03.02.2013, 17:00 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Вот пример того что мне нужно.
Надо было сразу нарисовать.
К сообщению приложен файл: Ran_6.xlsm (12.1 Kb)


Сообщение отредактировал Мур - Воскресенье, 03.02.2013, 17:06
 
Ответить
СообщениеВот пример того что мне нужно.
Надо было сразу нарисовать.

Автор - Мур
Дата добавления - 03.02.2013 в 17:00
RAN Дата: Воскресенье, 03.02.2013, 17:38 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
smile
К сообщению приложен файл: 4738741.xlsm (23.7 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеsmile

Автор - RAN
Дата добавления - 03.02.2013 в 17:38
Мур Дата: Понедельник, 04.02.2013, 08:24 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

RAN,
Спасибо!
Это то, что нужно!
 
Ответить
СообщениеRAN,
Спасибо!
Это то, что нужно!

Автор - Мур
Дата добавления - 04.02.2013 в 08:24
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!