Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2017, 08:56   #1
andreysuperman42
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 43
По умолчанию Изменение данных в ListBox при выборе значения ComboBox

Помогите решить задачу.
Есть список 3 столбца, вывожу на ListBox, фильтрую по 1 столбцу.
Два других столбца хочу выбирать через ComboBoxы, но результаты чтобы были на ListBoxе.

Файл прилагаю (Excel 2003).
Вложения
Тип файла: xls Проба ListBox и ComboBox.xls (66.0 Кб, 13 просмотров)

Последний раз редактировалось andreysuperman42; 12.02.2017 в 10:33.
andreysuperman42 вне форума Ответить с цитированием
Старый 12.02.2017, 13:41   #2
andreysuperman42
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 43
По умолчанию

Получилось вносить в ComboBox1 значение тары
Код:
Private Sub TextBox1_Change()

    Me.ListBox1.Clear
    With CreateObject("Scripting.Dictionary")
        For lngCounterArray = 2 To UBound(varArray)
            If UCase(varArray(lngCounterArray, 1)) Like "*" & UCase(Me.TextBox1) & "*" Then    ' Фильтрация по TextBox...
                Me.ListBox1.AddItem lngCounterArray    ' Заносим в 1-ый (скрытый) столбец ListBox номер строки на листе
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = varArray(lngCounterArray, 1)    ' Заносим во 2-ой столбец ListBox товар
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = varArray(lngCounterArray, 2)    ' Заносим во 3-ий столбец ListBox тару
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = varArray(lngCounterArray, 3)    ' Заносим во 4-ый столбец ListBox город
                Me.ComboBox1.Value = .Item(varArray(lngCounterArray, 2))
            End If
        Next lngCounterArray
        Me.ComboBox1.List = .Keys    ' Заносим в ComboBox значение тары
    End With
End Sub
Вложения
Тип файла: xls Проба ListBox и ComboBox.xls (63.0 Кб, 19 просмотров)

Последний раз редактировалось andreysuperman42; 12.02.2017 в 13:46.
andreysuperman42 вне форума Ответить с цитированием
Старый 12.02.2017, 15:21   #3
andreysuperman42
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 43
По умолчанию

Сам разобрался.
Только есть один нюанс, если пользователь выбирает сначала одну тару, а потом передумает и выберет другую, то данные в ListBox теряются.

Может кто подскажет, как лучше исправить код?
Вложения
Тип файла: xls Проба ListBox и ComboBox(v2).xls (60.5 Кб, 35 просмотров)
andreysuperman42 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения в edit при выборе записи из dbgrid Ernest027 БД в Delphi 4 31.07.2015 16:14
При выборе значения одного из трёх ComboBox выводить значение в Label TeliS Общие вопросы Delphi 2 23.09.2013 18:47
вывод данных при выборе определенного значения из раскрывающегося списка Андрей79 PHP 4 04.03.2012 21:58
ForeColor при выборе значений в ComboBox segail Microsoft Office Excel 2 25.08.2010 22:12
Снять выделение в Combobox при выборе Ilya_L Общие вопросы Delphi 0 31.07.2010 16:09