Страницы: 1
RSS
ComboBox
 
Как внести список с Листа2 активной книги диапазон A1:A20
 
Если это Элемент управления формы, то зайдите в параметры объект и там все увидите, Если это Элемент ActiveX то там есть параметр SourseRows, где также можно указать диапазон
 
{quote}{login=Николай}{date=22.12.2011 12:13}{thema=}{post}Если это Элемент управления формы, то зайдите в параметры объект и там все увидите, Если это Элемент ActiveX то там есть параметр SourseRows, где также можно указать диапазон{/post}{/quote}  
Это элемент управления формы.    
как все прописать надо? и чтобы выбранное значение потом внеслось в нужный столбец
 
{quote}{login=Николай}{date=22.12.2011 12:13}{thema=}{post}Если это Элемент управления формы, то зайдите в параметры объект и там все увидите, Если это Элемент ActiveX то там есть параметр SourseRows, где также можно указать диапазон{/post}{/quote}Николай, не вводите людей в заблуждение: для элемента ActiveX это будет ListFillRange. А то, что Вы назвали SourseRows, правильно пишется RowSource и применимо для ComboBox на форме.
 
ПКМ по объекту, формат объекта..., Формировать список по диапазону: Лист2!$A$1:$A$20  
Связь с ячейкой: A1  
OK
 
{quote}{login=}{date=22.12.2011 02:53}{thema=}{post}Связь с ячейкой: A1{/post}{/quote}Так в ячейке получим № позиции в списке, а не само значение. Автор ведь просит: "чтобы выбранное значение потом внеслось в нужный столбец".  
Чтобы избежать дополнительных телодвижений - лучше использовать элемент ActiveX.
 
Теперь понял в чем удобство ActiveX. Смог подключить список к ComboBox через Propeties  
А как при выборе в ComboBox значения (которые берутся из диапазона A1:A20) , в TextBox автоматом вносились данные из соответствующих значений диапазона В1:В20 и чтобы они так же вносились
 
Несколько вариантов:  
- искать, в какой строке находится выбранное значение и подставлять в ТекстБокс значение из соседней ячейки.  
- забирать в КомбоБокс сразу два столбца (А и В) с листа, а в ТекстБокс отображать значение из второго столбца уже самого КомбоБокс.
 
{quote}{login=Юрий М}{date=22.12.2011 03:12}{thema=}{post}Несколько вариантов:  
- искать, в какой строке находится выбранное значение и подставлять в ТекстБокс значение из соседней ячейки.  
- забирать в КомбоБокс сразу два столбца (А и В) с листа, а в ТекстБокс отображать значение из второго столбца уже самого КомбоБокс.{/post}{/quote}  
 
Как первый вариант реализовать?
 
Я бы использовал Find.  
И потрудитесь как-то себя обозначить. Это ведь совсем не сложно...
 
Private Sub ComboBox1_Change()  
Set x = Sheets("Лист2").UsedRange.Columns("A").Find(What:=Me.ComboBox1.Value, Lookat:=xlWhole)  
If Not x Is Nothing Then Me.TextBox1.Value = x.Offset(, 1).Value  
End Sub
 
Тоже этот макрос попробовал. Выбираю в ComboBox знеачение, в TextBox1 подставляется значение из соседнего столбца "B", в продолжении темы... в TextBox2 подставить значение из столбца "С". Как это будет выглядеть?
 
Me.TextBox2.Value = x.Offset(, 2).Value
 
.... = x.Offset(, 2).Value - правильно ли я понимаю что (,2) это порядковый номер столбца откуда нужно взять значение??
 
Нет - это число столбцов, на которое нужно сместиться (Offset) от исходного.
 
{quote}{login=Юрий М}{date=27.12.2011 08:18}{thema=}{post}Нет - это число столбцов, на которое нужно сместиться (Offset) от исходного.{/post}{/quote}  
 
Спасибо, теперь буду понимать из чего все это сделано
Страницы: 1
Читают тему
Наверх