Страницы: 1
RSS
VBA. Заполнение нескольких ListBox'ов на одной UserForm данными с разных листов
 
Здравствуйте, нашел очень хороший код, реализующий поиск с выводом результатов в окошке и последующим выбором. Переделал его под свои нужды и уперся в одну проблему.
Проблема следующая:
Один поиск отлично работает по 2 листу по столбцу А.
Создал второй поиск, но никак не могу его переключить на 3 лист на столбец А.
Понял, что ковыряться надо в AddListItem_t(), но что именно там надо переделать не пойму.
С VBA столкнулся впервые, капаю уже около месяца эту проблему.
Очень буду рад дельному совету:)
 
Цитата
MemorexTomsk написал: никак не могу его переключить на 3 лист на столбец А
Что Вы подразумеваете под 'переключить'? Объясните простыми словами, как желательно должна работать форма поиска?
Согласие есть продукт при полном непротивлении сторон
 
Чтобы обведенная связка искала на 3 листе "Получателей".
Сейчас она ищет на 2 листе "Отправителей".
 
Наворочено там у Вас...
Можно проще
Код
Private Sub AddListItem_t()
On Error Resume Next
ListBox1.Clear
With Worksheets("Лист3")
    Me.ListBox1.List = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).Value
End With
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Sanja, огромное спасибо)
Теперь стало намного понятнее.
Вставил код, получатели подгрузились, но поиск по ним не работает.
 
Там, по-хорошему, все переделывать нужно. Но это уже совсем другая история...
Согласие есть продукт при полном непротивлении сторон
 
Кто уточнит название темы?
 
Тема: VBA. Заполнение нескольких ListBox'ов на одной UserForm данными с разных листов  
Согласие есть продукт при полном непротивлении сторон
 
Как правильнее изменить действие в ELSE, чтобы заработал поиск по ListBox`у?Я так понимаю, здесь тоже не правильный диапазон, где производится поиск.
Код TextBox:
Код
Private Sub TextBox9_Change()
    If TextBox9.Text = "" Then
            Call AutoFilterClear
        Else
            Union([Mylist].Parent.[A1], [Mylist]).AutoFilter Field:=1, Criteria1:="=*" & TextBox9.Text & "*"
        End If
    Call AddListItem_t
End Sub
Код ListBox:
Код
Private Sub AddListItem_t()
    On Error Resume Next
    ListBox1.Clear
    With Worksheets("Лист3")
        Me.ListBox1.List = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).Value
    End With
End Sub
Изменено: MemorexTomsk - 18.06.2018 11:56:05
 
Цитата
MemorexTomsk написал:
Как правильнее изменить действие в ELSE, чтобы заработал поиск по ListBox`у?Я так понимаю, здесь тоже не правильный диапазон, где производится поиск.
Я поковырял и вроде как может быть лучше сделать не просто заполнение ListBox`a из всего столбца А, а заполнение ListBox`a из столбца А по доп. условию, которое прописывается в TextBox, грубо говоря выводить то что совпадает в столбце А с веденным текстом в TextBox
 
Посмотрите в файле. Наполнение ЛистБоксов и Поиск
Согласие есть продукт при полном непротивлении сторон
Страницы: 1
Наверх