Новости:

Форум на данный момент в стадии обновления. Если у Вас возникли проблемы со входом в свою учетную запись - просьба писать на email: info@excel-vba.ru

Главное меню

Эксел комбобокс получение данных с LinkedCell

Автор Вова60, 15.10.2022, 04:59:19

« назад - далее »

Вова60

Эксел комбобокс в значении ListFillRange Y6:AA200  ColimnCount 3 позволяет ввести адресацию показываемой таблицы и количество показываемых столбцов  в данном примере 3.  Значение LinkedCell так же позволяет ввести диапазон вставки A1:A3 но вставляет только одно значение – как это можно изменить

Сразу возражения что LinkedCell только в одну ячейку

Но и пока в ColimnWidths не вставишь данные о столбцах 135 pt;20 pt;30 pt комбобокс показывает только один столбец., может где-то для LinkedCell такие же условия есть или способ введения адресации другой, она же берет ссылку не только на ячейку A1 но и на диапазон A1:A3

Дмитрий Щербаков(The_Prist)

А после того, как выбрали значение в КомбоБоксе - сколько значений в нем у Вас отображается? Готов спорить, что при любых настройках только одно значение левого столбца выбранной строки. Вот оно и попадает в .Value, а это Value уже записывается в LinkedCell. Т.е. только одно и только в значение левой верхней ячейки заданного там диапазона, независимо от общего кол-ва ячеек.
Чтобы раскидывать значение во все ячейки, нужно обрабатывать событие изменения значения в Листбоксе кодом. Что-то вроде такого:
Private Sub ComboBox1_Change()
    Dim indx&, lcols_cnt&, rr As Range, rc As Range
    indx = ComboBox1.ListIndex
    If indx >= 0 Then
        Set rr = Range(ComboBox1.ListFillRange)
        Set rc = Range(ComboBox1.LinkedCell).Cells(1)
        lcols_cnt = rr.Columns.Count
        rc.Resize(, lcols_cnt).Value = rr.Offset(indx).Resize(1).Value
    End If
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Яндекс.Метрика Рейтинг@Mail.ru