Добрый день еще раз многоуважаемые ГУРУ экселя. Благодаря My WebPage по сути моя задача была реализована с помощью
Цитата
Дата: Вторник, 28.06.2016, 11:23 | Сообщение № 2
связал я ComboBox1 c ComboBox6 [vba]
Код
Private Sub ComboBox1_Change() 'связанный выпадающий список ComboBox1=ComboBox6 ComboBox6.Clear With CreateObject("scripting.dictionary") For i = 2 To Worksheets("КлассМарка").Cells(Rows.Count, 2).End(xlUp).Row If ComboBox1.Value = Worksheets("КлассМарка").Cells(i, 1) Then If Not .Exists(Trim(Worksheets("КлассМарка").Cells(i, 2))) Then .Add Trim(Worksheets("КлассМарка").Cells(i, 2)), i ComboBox6.AddItem Worksheets("КлассМарка").Cells(i, 2).Value End If End If Next i End With End Sub
[/vba] Следующая моя задача заключалась в том чтоб ComboBox6 связать с ComboBox2, что по сути тоже реализовалась хорошо [vba]
Код
Private Sub ComboBox6_Change() 'связанный выпадающий список ComboBox6=ComboBox2 ComboBox2.Clear With CreateObject("scripting.dictionary") For i = 3 To Worksheets("Карта подбора").Cells(Rows.Count, 3).End(xlUp).Row If ComboBox6.Value = Worksheets("Карта подбора").Cells(i, 1) Then If Not .Exists(Trim(Worksheets("Карта подбора").Cells(i, 3))) Then .Add Trim(Worksheets("Карта подбора").Cells(i, 3)), i ComboBox2.AddItem Worksheets("Карта подбора").Cells(i, 3).Value End If End If Next i End With End Sub
[/vba] Но почему то с одним НО (((((( при выборе растворной смеси М100 ComboBox2 не дает список ((((( хотя если выбирать бетонную смесь и класс бетона В30 и т.д. список работает на ура - почему так!? В чем ошибка. Завершение работы выпадающих списков завершил кодом: [vba]
Код
Private Sub UserForm_Initialize() With CreateObject("scripting.dictionary") For i = 2 To Worksheets("КлассМарка").Cells(Rows.Count, 1).End(xlUp).Row If Not .Exists(Trim(Worksheets("КлассМарка").Cells(i, 1))) Then .Add Trim(Worksheets("КлассМарка").Cells(i, 1)), i ComboBox1.AddItem Worksheets("КлассМарка").Cells(i, 1).Value End If Next i End With With CreateObject("scripting.dictionary") For i = 3 To Worksheets("Карта подбора").Cells(Rows.Count, 1).End(xlUp).Row If Not .Exists(Trim(Worksheets("Карта подбора").Cells(i, 1))) Then .Add Trim(Worksheets("Карта подбора").Cells(i, 1)), i ComboBox6.AddItem Worksheets("Карта подбора").Cells(i, 1).Value End If Next i End With End Sub
[/vba] СПАСИБО ОГРОМНОЕ за ранее
Добрый день еще раз многоуважаемые ГУРУ экселя. Благодаря My WebPage по сути моя задача была реализована с помощью
Цитата
Дата: Вторник, 28.06.2016, 11:23 | Сообщение № 2
связал я ComboBox1 c ComboBox6 [vba]
Код
Private Sub ComboBox1_Change() 'связанный выпадающий список ComboBox1=ComboBox6 ComboBox6.Clear With CreateObject("scripting.dictionary") For i = 2 To Worksheets("КлассМарка").Cells(Rows.Count, 2).End(xlUp).Row If ComboBox1.Value = Worksheets("КлассМарка").Cells(i, 1) Then If Not .Exists(Trim(Worksheets("КлассМарка").Cells(i, 2))) Then .Add Trim(Worksheets("КлассМарка").Cells(i, 2)), i ComboBox6.AddItem Worksheets("КлассМарка").Cells(i, 2).Value End If End If Next i End With End Sub
[/vba] Следующая моя задача заключалась в том чтоб ComboBox6 связать с ComboBox2, что по сути тоже реализовалась хорошо [vba]
Код
Private Sub ComboBox6_Change() 'связанный выпадающий список ComboBox6=ComboBox2 ComboBox2.Clear With CreateObject("scripting.dictionary") For i = 3 To Worksheets("Карта подбора").Cells(Rows.Count, 3).End(xlUp).Row If ComboBox6.Value = Worksheets("Карта подбора").Cells(i, 1) Then If Not .Exists(Trim(Worksheets("Карта подбора").Cells(i, 3))) Then .Add Trim(Worksheets("Карта подбора").Cells(i, 3)), i ComboBox2.AddItem Worksheets("Карта подбора").Cells(i, 3).Value End If End If Next i End With End Sub
[/vba] Но почему то с одним НО (((((( при выборе растворной смеси М100 ComboBox2 не дает список ((((( хотя если выбирать бетонную смесь и класс бетона В30 и т.д. список работает на ура - почему так!? В чем ошибка. Завершение работы выпадающих списков завершил кодом: [vba]
Код
Private Sub UserForm_Initialize() With CreateObject("scripting.dictionary") For i = 2 To Worksheets("КлассМарка").Cells(Rows.Count, 1).End(xlUp).Row If Not .Exists(Trim(Worksheets("КлассМарка").Cells(i, 1))) Then .Add Trim(Worksheets("КлассМарка").Cells(i, 1)), i ComboBox1.AddItem Worksheets("КлассМарка").Cells(i, 1).Value End If Next i End With With CreateObject("scripting.dictionary") For i = 3 To Worksheets("Карта подбора").Cells(Rows.Count, 1).End(xlUp).Row If Not .Exists(Trim(Worksheets("Карта подбора").Cells(i, 1))) Then .Add Trim(Worksheets("Карта подбора").Cells(i, 1)), i ComboBox6.AddItem Worksheets("Карта подбора").Cells(i, 1).Value End If Next i End With End Sub