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

Вход

Регистрация

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

 

= Мир MS Excel/Связанные выпадающие списки для ComboBox - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Связанные выпадающие списки для ComboBox
anisimovaleksandr32 Дата: Суббота, 22.06.2024, 13:19 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 86
Репутация: 4 ±
Замечаний: 20% ±

Добрый день еще раз многоуважаемые ГУРУ экселя.
Благодаря 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]
СПАСИБО ОГРОМНОЕ за ранее
К сообщению приложен файл: 5869275.xlsm (110.0 Kb)


Сообщение отредактировал anisimovaleksandr32 - Суббота, 22.06.2024, 13:46
 
Ответить
СообщениеДобрый день еще раз многоуважаемые ГУРУ экселя.
Благодаря 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]
СПАСИБО ОГРОМНОЕ за ранее

Автор - anisimovaleksandr32
Дата добавления - 22.06.2024 в 13:19
Hugo Дата: Суббота, 22.06.2024, 14:23 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3370
Репутация: 722 ±
Замечаний: 0% ±

2019
М100 с пробелом в конце, можно загнать формулу в СЖПРОБЕЛЫ() и всё работает.


excel@nxt.ru
webmoney: E265281470651 Z422237915069


Сообщение отредактировал Hugo - Суббота, 22.06.2024, 14:33
 
Ответить
СообщениеМ100 с пробелом в конце, можно загнать формулу в СЖПРОБЕЛЫ() и всё работает.

Автор - Hugo
Дата добавления - 22.06.2024 в 14:23
anisimovaleksandr32 Дата: Суббота, 22.06.2024, 16:06 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 86
Репутация: 4 ±
Замечаний: 20% ±

Hugo, %) Блин а я проверил на наличие пробела но впереди а тут оказывается он в конце спрятан (((((
Я понял
СПАСИБО ВАМ ОГРОМНОЕ
 
Ответить
СообщениеHugo, %) Блин а я проверил на наличие пробела но впереди а тут оказывается он в конце спрятан (((((
Я понял
СПАСИБО ВАМ ОГРОМНОЕ

Автор - anisimovaleksandr32
Дата добавления - 22.06.2024 в 16:06
  • Страница 1 из 1
  • 1
Поиск:

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