Страницы: 1
RSS
Отбор уникальных значений в связанных комбобоксах на форме
 
Доброе утро.
Есть  пользовательская форма с комбобоксами.
В первом комбобоксе выбираем товар1(уникальные значения отображаются),а во втором комбобоксе должны отображать данные марки товара : Марка Н,марка С(Уникальные значения НЕ отображаются).
Как поправить код для отображения уникальных значений во втором комбобоксе?
 
Цитата
Logistic написал: Уникальные значения НЕ отображаются
Почему Вы при инициализации формы используете Collection для отбора уникальных значений, а при выборе значения в первом КомбоБоксе ее (Collection) не используете для отбора значений во второй КомбоБокс?
Код
Private Sub ComboBox1_Change()
Dim i As Long, LastRow As Long, tovar As String
Dim iCol As New Collection
On Error Resume Next
Me.ComboBox2.Clear
tovar = Me.ComboBox1
With Sheets("данные")
    LastRow = .Cells(.Rows.Count, 3).End(xlUp).Row
    For i = 11 To LastRow
        If .Cells(i, 3) = tovar Then
            iCol.Add .Cells(i, 4), CStr(.Cells(i, 4))
            If Err = 0 Then
                Me.ComboBox2.AddItem .Cells(i, 4)
            Else
                Err.Clear
            End If
        End If
    Next
End With
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Sanja,  благодарю за помощь. Буду изучать .
Можете прокомментировать эту строку кода
Код
 If Err = 0 Then
Изменено: Logistic - 09.12.2018 12:18:48
 
On Error Resume Next - отключаем реагирование на ошибки. Но сама ошибка фиксируется.
If Err = 0 Then - если ошибка до этого не возникла...
 
Понял ,спасибо.
 
Sanja, здравствуйте! Большое спасибо за показанный способ обработки ошибок! Буквально недавно столкнулся с подобной задачей - нужно было что-то делать с ошибками внутри цикла. "Resume Next" пробовал, "GoTo" , "If..." конечно тоже, но так и не смог придумать, как обойти такие ошибки. Возьму на вооружение, наверняка еще не раз подобное будет встречаться. Еще раз большое СПАСИБО!!!  
 
Вариант со словарем.
"Все гениальное просто, а все простое гениально!!!"
 
Nordheim, спасибо за ответ .Забрал в копилку. Если можно прокомментировать код.
 
Надеюсь понятно написал.
Скрытый текст
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо.Все  понятно.
Страницы: 1
Наверх