Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Отображение в combobox уникальных значений - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Отображение в combobox уникальных значений
AVI Дата: Четверг, 07.10.2021, 04:02 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация: 17 ±
Замечаний: 0% ±

Excel 2016
Добрый день!
У меня есть combobox c кодом
[vba]
Код
Dim ar, i
    cbx_OrderSuppl.Clear
    If cbx_NameMedicOrder.Value = "" Then Exit Sub
    ar = Range("Главная_tb")
    For i = 1 To UBound(ar)
        If ar(i, 3) = "Остатки по договору" Then
            If ar(i, 2) = cbx_NameMedicOrder.Value Then
                If ar(i, 21) > 0 Then
                    cbx_OrderSuppl.AddItem ar(i, 5)
                End If
            End If
        End If
    Next i
[/vba]

Подскажите, пожалуйста, как сделать так, что бы него выгружались только уникальные значения без повторов?
 
Ответить
СообщениеДобрый день!
У меня есть combobox c кодом
[vba]
Код
Dim ar, i
    cbx_OrderSuppl.Clear
    If cbx_NameMedicOrder.Value = "" Then Exit Sub
    ar = Range("Главная_tb")
    For i = 1 To UBound(ar)
        If ar(i, 3) = "Остатки по договору" Then
            If ar(i, 2) = cbx_NameMedicOrder.Value Then
                If ar(i, 21) > 0 Then
                    cbx_OrderSuppl.AddItem ar(i, 5)
                End If
            End If
        End If
    Next i
[/vba]

Подскажите, пожалуйста, как сделать так, что бы него выгружались только уникальные значения без повторов?

Автор - AVI
Дата добавления - 07.10.2021 в 04:02
AVI Дата: Четверг, 07.10.2021, 05:11 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация: 17 ±
Замечаний: 0% ±

Excel 2016
Сам догадался
[vba]
Код
   Dim arr, i
    arr = Range("Главная_tb")
    With CreateObject("Scripting.Dictionary")
         For i = LBound(arr) To UBound(arr)
            If arr(i, 3) = "Остатки по договору" Then
                If arr(i, 2) = cbx_NameMedicOrder.Value Then
                    If arr(i, 21) > 0 Then
             .Item(arr(i, 5)) = 1
                    End If
                End If
            End If
         Next i
         cbx_OrderSuppl.List = .Keys
    End With
[/vba]
 
Ответить
СообщениеСам догадался
[vba]
Код
   Dim arr, i
    arr = Range("Главная_tb")
    With CreateObject("Scripting.Dictionary")
         For i = LBound(arr) To UBound(arr)
            If arr(i, 3) = "Остатки по договору" Then
                If arr(i, 2) = cbx_NameMedicOrder.Value Then
                    If arr(i, 21) > 0 Then
             .Item(arr(i, 5)) = 1
                    End If
                End If
            End If
         Next i
         cbx_OrderSuppl.List = .Keys
    End With
[/vba]

Автор - AVI
Дата добавления - 07.10.2021 в 05:11
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!