Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
 Excel, ComboBox. Нужно получить две переменных, а LinkedCell один.  [new]
grecha10
Member

Откуда:
Сообщений: 33
Здравствуйте.

Есть таблица из шести столбцов.
Есть ComboBox привязанный к этой таблице в режиме разработчика с помощью ListFillRange.
В параметре LinkedCell указана определенная ячейка.
Меняя параметр BoundColumn я могу вывести в эту ячейку значение нужного столбца из таблицы, при выборе какой то строки в ComboBox-е.

Это все работает.
Но мне нужно при выборе строки в ComboBox-е получать одновременно ДВА значения из исходной таблицы для дальнейших расчетов. Например, из 3-го столбца и из 6-го. Но LinkedCell только один.

Полагаю, второе значение можно сделать с помощью VBA, но как?
21 дек 18, 21:15    [21770839]     Ответить | Цитировать Сообщить модератору
 Re: Excel, ComboBox. Нужно получить две переменных, а LinkedCell один.  [new]
grecha10
Member

Откуда:
Сообщений: 33
> Полагаю, второе значение можно сделать с помощью VBA, но как?
Конечно хотел сказать "получить второе значение", а не сделать)
21 дек 18, 21:17    [21770840]     Ответить | Цитировать Сообщить модератору
 Re: Excel, ComboBox. Нужно получить две переменных, а LinkedCell один.  [new]
Казанский
Member

Откуда:
Сообщений: 1302
grecha10, в модуль листа, вместо ComboBox1 - настоящее название комбо
Private Sub ComboBox1_Change()
Dim i&
  i = ComboBox1.ListIndex 'номер выбранной строки или -1 если ничего не выбрано
  If i > -1 Then
    Range("E3") = ComboBox1.List(i, 1) 'значение из второго столбца
  Else
    Range("E3").ClearContents
  End If
End Sub
22 дек 18, 01:11    [21770928]     Ответить | Цитировать Сообщить модератору
 Re: Excel, ComboBox. Нужно получить две переменных, а LinkedCell один.  [new]
Dino_zavr
Member

Откуда:
Сообщений: 4
Private Sub ComboBox1_Click()
'таблица ListFillRange A3:I20 например
'LinkedCell =A1
Dim i As Integer
Dim Col1 As Integer
Dim Col2 As Integer
Col1 = 2
Col2 = 6
i = ComboBox1.ListIndex
If i > 0 Then
Range("B1").Value = Range("A3").Offset(i, Col1).Value
Range("C1").Value = Range("A3").Offset(i, Col2).Value
End If
End Sub
22 дек 18, 16:18    [21771082]     Ответить | Цитировать Сообщить модератору
 Re: Excel, ComboBox. Нужно получить две переменных, а LinkedCell один.  [new]
grecha10
Member

Откуда:
Сообщений: 33
Dino_zavr, Казанский, спасибо большое!!
То, что нужно!
23 дек 18, 21:30    [21771598]     Ответить | Цитировать Сообщить модератору
Все форумы / Visual Basic Ответить