Приветсвую участников форума! На форме расположено несколько combobox, с помощью которых заполняется таблица. В качестве источника данных для всех combobox использую динамически изменяемый диапазон, в котором использованные значения исчезают из списка. В ходе заполнения, в каждом последующем combobox выпадающий список сокращается. При этом количество строк списка остается неизменным. Какие свойства необходимо задать или что прописать, чтобы количество строк выпадающего списка так же сокращалось? Заранее благодарен!
Приветсвую участников форума! На форме расположено несколько combobox, с помощью которых заполняется таблица. В качестве источника данных для всех combobox использую динамически изменяемый диапазон, в котором использованные значения исчезают из списка. В ходе заполнения, в каждом последующем combobox выпадающий список сокращается. При этом количество строк списка остается неизменным. Какие свойства необходимо задать или что прописать, чтобы количество строк выпадающего списка так же сокращалось? Заранее благодарен!Мур
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] У него уменьшается количество строк. Но то ли я его не понял, то ли это немного не то. Искал в инете как задать изменяемое число строк в выпадающем списке, но не нашел. Новую тему открыл потому, что она уже не очень стала соотвествовать названию. Может я неправильно объясняю суть вопроса?
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] У него уменьшается количество строк. Но то ли я его не понял, то ли это немного не то. Искал в инете как задать изменяемое число строк в выпадающем списке, но не нашел. Новую тему открыл потому, что она уже не очень стала соотвествовать названию. Может я неправильно объясняю суть вопроса?Мур
RAN, порстите, только сейчас дорвался до компа. Последний вариант самый приближенный к к тому что нужно. Пока нет возможномти посмотреть внимательно. Я отпишусь позже.
RAN, порстите, только сейчас дорвался до компа. Последний вариант самый приближенный к к тому что нужно. Пока нет возможномти посмотреть внимательно. Я отпишусь позже.Мур
Сообщение отредактировал Мур - Пятница, 01.02.2013, 23:28
Приветсвую участниов форума! RAN, приветсвую. В общем как в том известном выражении: "Кто о чем, а вшивый о бане", у меня опять про combobox. Ваш последний вариант это почти то, что нужно. Для наглядности я его продолжил на 10 элементов управления. Получается, что во время заполнения формы, в каждом последующем comboboxе количество выпадающих строк списка значений и самих значений становится на один меньше чем в предыдущем, что мне и требовалось. Но я предполагал, что после введения значения в любой из comboboxов, изменения (то есть сокращение количества строк выпадающего списка), произойдет во всех comboboxах формы, ссылающихся на один и тот же источник данных. Отюда вытекает ответ на Ваш вопрос в сообщении №4
Цитата
Если заполнение идет через форму - зачем изменяющийся диапазон на листе?
Я считал, что должно быть так. По мере заполнения формы, сокращается диапазон возможных для использования значений, и соответственно сокращается выпадающий список и его размер. Такое возможно в Excel?
Приветсвую участниов форума! RAN, приветсвую. В общем как в том известном выражении: "Кто о чем, а вшивый о бане", у меня опять про combobox. Ваш последний вариант это почти то, что нужно. Для наглядности я его продолжил на 10 элементов управления. Получается, что во время заполнения формы, в каждом последующем comboboxе количество выпадающих строк списка значений и самих значений становится на один меньше чем в предыдущем, что мне и требовалось. Но я предполагал, что после введения значения в любой из comboboxов, изменения (то есть сокращение количества строк выпадающего списка), произойдет во всех comboboxах формы, ссылающихся на один и тот же источник данных. Отюда вытекает ответ на Ваш вопрос в сообщении №4
Цитата
Если заполнение идет через форму - зачем изменяющийся диапазон на листе?
Я считал, что должно быть так. По мере заполнения формы, сокращается диапазон возможных для использования значений, и соответственно сокращается выпадающий список и его размер. Такое возможно в Excel?Мур