Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
20.04.2024, 16:15:38

Войти
Добавляйтесь в нашу группу ВКонтакте - будьте в курсе всех новых событий сайта, узнавайте первым обо всех акциях и новых статьях!
33 242 Сообщений в 5 457 Тем от 6 758 Пользователей
Последний пользователь: Сергей2662
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Эксел комбобокс получение данных с LinkedCell
Страниц: [1]   Вниз
Печать
Автор Тема: Эксел комбобокс получение данных с LinkedCell  (Прочитано 2486 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Вова60
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 20


Просмотр профиля E-mail
« : 15.10.2022, 04:59:19 »

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

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

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

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 831



Просмотр профиля WWW
« Ответ #1 : 16.10.2022, 14:46:35 »

А после того, как выбрали значение в КомбоБоксе - сколько значений в нем у Вас отображается? Готов спорить, что при любых настройках только одно значение левого столбца выбранной строки. Вот оно и попадает в .Value, а это Value уже записывается в LinkedCell. Т.е. только одно и только в значение левой верхней ячейки заданного там диапазона, независимо от общего кол-ва ячеек.
Чтобы раскидывать значение во все ячейки, нужно обрабатывать событие изменения значения в Листбоксе кодом. Что-то вроде такого:
Код: (vb)
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
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru