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

Вход

Регистрация

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

 

= Мир MS Excel/Вывод результатов поиска в два столбца в listBox - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вывод результатов поиска в два столбца в listBox (Макросы/Sub)
Вывод результатов поиска в два столбца в listBox
JIuqep Дата: Вторник, 17.11.2020, 15:05 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Доброго времени суток! Господа хорошие! Подскажите пожалуйста! я ввожу фамилию по буквам в textbox и получаю результат поиска из столбца "С:C"
и хочу полученный результат поиска в listBox в два столбика ИМЯ и Фамилия (Имена Столбец "B:B" фамилии"C:C") и если можно дописать макрос что бы в textbox можно было либо имя либо фамилию и он искал по любому из параметров!

[vba]
Код

Private Sub Списоклюдей_Change()
Dim txt As String, lt As Long, s As String, v, y, i, z As String
txt = Списоклюдей.Text: lt = Len(txt)
If lt = 0 Then Exit Sub
x = Range("C4", Cells(Rows.Count, 3).End(xlUp)).Value 'Фамилии
y = Range("B4", Cells(Rows.Count, 2).End(xlUp)).Value 'Имена

For i = 1 To UBound(x, 1) 'поиск по любому вхождению
If InStr(x(i, 1), txt) Then s = s & "~" & x(i, 1): z = z & "~" & y(i, 1)

Next i
With Me.Список
.ColumnHeads = False
.ColumnCount = 2
.ColumnWidths = "60;50"
.AddItem
.List = Split(Mid(s, 2), "~")
' Список.List = Split(Mid(z, 2), "~") ' тут не получается
End With

End Sub
Private Sub Список_Click()
'If Список.ListIndex = -1 Then Exit Sub
On Error Resume Next
ActiveSheet.ShowAllData
Range("C:C").Find(Список, lookat:=xlWhole).Activate ' в listbox поиском выводиться фамилии!!! и по нажатию на неё он выделяет ячейку с первой найденной фамилией а нужно по двум критериям по фамилии и имени из listbox!
End Sub
[/vba]


Говори о чём думаешь! НО думай прежде чем о чем то говорить!

Сообщение отредактировал JIuqep - Вторник, 17.11.2020, 17:48
 
Ответить
СообщениеДоброго времени суток! Господа хорошие! Подскажите пожалуйста! я ввожу фамилию по буквам в textbox и получаю результат поиска из столбца "С:C"
и хочу полученный результат поиска в listBox в два столбика ИМЯ и Фамилия (Имена Столбец "B:B" фамилии"C:C") и если можно дописать макрос что бы в textbox можно было либо имя либо фамилию и он искал по любому из параметров!

[vba]
Код

Private Sub Списоклюдей_Change()
Dim txt As String, lt As Long, s As String, v, y, i, z As String
txt = Списоклюдей.Text: lt = Len(txt)
If lt = 0 Then Exit Sub
x = Range("C4", Cells(Rows.Count, 3).End(xlUp)).Value 'Фамилии
y = Range("B4", Cells(Rows.Count, 2).End(xlUp)).Value 'Имена

For i = 1 To UBound(x, 1) 'поиск по любому вхождению
If InStr(x(i, 1), txt) Then s = s & "~" & x(i, 1): z = z & "~" & y(i, 1)

Next i
With Me.Список
.ColumnHeads = False
.ColumnCount = 2
.ColumnWidths = "60;50"
.AddItem
.List = Split(Mid(s, 2), "~")
' Список.List = Split(Mid(z, 2), "~") ' тут не получается
End With

End Sub
Private Sub Список_Click()
'If Список.ListIndex = -1 Then Exit Sub
On Error Resume Next
ActiveSheet.ShowAllData
Range("C:C").Find(Список, lookat:=xlWhole).Activate ' в listbox поиском выводиться фамилии!!! и по нажатию на неё он выделяет ячейку с первой найденной фамилией а нужно по двум критериям по фамилии и имени из listbox!
End Sub
[/vba]

Автор - JIuqep
Дата добавления - 17.11.2020 в 15:05
Pelena Дата: Вторник, 17.11.2020, 15:09 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
JIuqep, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеJIuqep, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 17.11.2020 в 15:09
JIuqep Дата: Вторник, 17.11.2020, 18:08 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Решил я Вопрос небольшим дополнением Listbox2 добавил и там сделал выбор по имени! но я потратил 3 ночи на поиск решения и мне всё же не удалось этого сделать в Одном Listbox!
Пример того как я сделал!
[vba]
Код

Private Sub Список2_Click()
Cells.Find(Список2.Text, After:=ActiveCell).Activate
End Sub

Private Sub Списоклюдей_Change()
Dim txt As String, lt As Long, s As String, v, y, i, z As String
txt = Списоклюдей.Text: lt = Len(txt)
If lt = 0 Then Exit Sub
   x = Range("C4", Cells(Rows.Count, 3).End(xlUp)).Value 'Фамилии
   y = Range("B4", Cells(Rows.Count, 2).End(xlUp)).Value 'Имена

For i = 1 To UBound(x, 1) 'поиск по любому вхождению
    If InStr(x(i, 1), txt) Then s = s & "~" & x(i, 1): z = z & "~" & y(i, 1)
    
Next i
With Me.Список
    .ColumnHeads = False
    .ColumnCount = 2
    .ColumnWidths = "60;50"
    .Список.List = Split(Mid(s, 2), "~")
    .Список2.List = Split(Mid(z, 2), "~") '  Добавил второй listbox
End With

End Sub

Private Sub Список_Click()
'If Список.ListIndex = -1 Then Exit Sub
On Error Resume Next
    ActiveSheet.ShowAllData
  Range("C:C").Find(Список, lookat:=xlWhole).Activate
End Sub
[/vba]


Говори о чём думаешь! НО думай прежде чем о чем то говорить!
 
Ответить
СообщениеРешил я Вопрос небольшим дополнением Listbox2 добавил и там сделал выбор по имени! но я потратил 3 ночи на поиск решения и мне всё же не удалось этого сделать в Одном Listbox!
Пример того как я сделал!
[vba]
Код

Private Sub Список2_Click()
Cells.Find(Список2.Text, After:=ActiveCell).Activate
End Sub

Private Sub Списоклюдей_Change()
Dim txt As String, lt As Long, s As String, v, y, i, z As String
txt = Списоклюдей.Text: lt = Len(txt)
If lt = 0 Then Exit Sub
   x = Range("C4", Cells(Rows.Count, 3).End(xlUp)).Value 'Фамилии
   y = Range("B4", Cells(Rows.Count, 2).End(xlUp)).Value 'Имена

For i = 1 To UBound(x, 1) 'поиск по любому вхождению
    If InStr(x(i, 1), txt) Then s = s & "~" & x(i, 1): z = z & "~" & y(i, 1)
    
Next i
With Me.Список
    .ColumnHeads = False
    .ColumnCount = 2
    .ColumnWidths = "60;50"
    .Список.List = Split(Mid(s, 2), "~")
    .Список2.List = Split(Mid(z, 2), "~") '  Добавил второй listbox
End With

End Sub

Private Sub Список_Click()
'If Список.ListIndex = -1 Then Exit Sub
On Error Resume Next
    ActiveSheet.ShowAllData
  Range("C:C").Find(Список, lookat:=xlWhole).Activate
End Sub
[/vba]

Автор - JIuqep
Дата добавления - 17.11.2020 в 18:08
doober Дата: Вторник, 17.11.2020, 18:40 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
всё же не удалось этого сделать в Одном Listbox
3 ночи это никуда не годится.
Был бы пример файла, было бы решение.


 
Ответить
Сообщение
всё же не удалось этого сделать в Одном Listbox
3 ночи это никуда не годится.
Был бы пример файла, было бы решение.

Автор - doober
Дата добавления - 17.11.2020 в 18:40
JIuqep Дата: Вторник, 17.11.2020, 20:28 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
я прошу сильно не смеяться когда увидите что я там конструирую с макросами))))
Суть этого макроса находить людей из списка "B:C" по введённым буквам и отмечать у кого они работают "E$2:$M2"
К сообщению приложен файл: 9569047.xlsm (327.4 Kb)


Говори о чём думаешь! НО думай прежде чем о чем то говорить!

Сообщение отредактировал JIuqep - Вторник, 17.11.2020, 20:37
 
Ответить
Сообщениея прошу сильно не смеяться когда увидите что я там конструирую с макросами))))
Суть этого макроса находить людей из списка "B:C" по введённым буквам и отмечать у кого они работают "E$2:$M2"

Автор - JIuqep
Дата добавления - 17.11.2020 в 20:28
doober Дата: Вторник, 17.11.2020, 23:39 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
И Вы не смейтесь над старческим маразмом.
Будут выделятся только однофамильцы .Для одинаковых имен макрос будет посложнее.
надеюсь, что понял правильно
К сообщению приложен файл: 9747798.xlsm (247.1 Kb)


 
Ответить
СообщениеИ Вы не смейтесь над старческим маразмом.
Будут выделятся только однофамильцы .Для одинаковых имен макрос будет посложнее.
надеюсь, что понял правильно

Автор - doober
Дата добавления - 17.11.2020 в 23:39
JIuqep Дата: Среда, 18.11.2020, 00:26 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Извините меня! я имел ввиду юзер форму "ВыходЛюдей" но не написал об этом! Сейчас попробую туда приладить то что Умный человек написал!
пример! <мне нужна Казаченко София а при нажатии на фамилию выдает "Казаченко Алена">
И ОГРОМНОЕ ВАМ СПАСИБО ЗА ВАШУ ПОМОЩЬ!


Говори о чём думаешь! НО думай прежде чем о чем то говорить!

Сообщение отредактировал JIuqep - Среда, 18.11.2020, 00:37
 
Ответить
СообщениеИзвините меня! я имел ввиду юзер форму "ВыходЛюдей" но не написал об этом! Сейчас попробую туда приладить то что Умный человек написал!
пример! <мне нужна Казаченко София а при нажатии на фамилию выдает "Казаченко Алена">
И ОГРОМНОЕ ВАМ СПАСИБО ЗА ВАШУ ПОМОЩЬ!

Автор - JIuqep
Дата добавления - 18.11.2020 в 00:26
JIuqep Дата: Среда, 18.11.2020, 11:20 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Сегодня Скопировал ваш макрос в свою userforms "ВыходЛюдей" полностью один в один не чего не меняя и макрос опять выдает в один столбик!


Говори о чём думаешь! НО думай прежде чем о чем то говорить!
 
Ответить
СообщениеСегодня Скопировал ваш макрос в свою userforms "ВыходЛюдей" полностью один в один не чего не меняя и макрос опять выдает в один столбик!

Автор - JIuqep
Дата добавления - 18.11.2020 в 11:20
doober Дата: Среда, 18.11.2020, 15:41 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Количество столбцов в листбоксе 2 должно быть
Если не поможет, загрузите файл сюда




Сообщение отредактировал doober - Среда, 18.11.2020, 15:42
 
Ответить
СообщениеКоличество столбцов в листбоксе 2 должно быть
Если не поможет, загрузите файл сюда

Автор - doober
Дата добавления - 18.11.2020 в 15:41
JIuqep Дата: Четверг, 19.11.2020, 01:49 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Доделал полностью userform и Макрос как он должен работать но нету вывода в listbox имён и поиск нужной строки "что бы совпадало и имя и фамилия" при выделении в listbox
К сообщению приложен файл: 3137821.xlsm (179.2 Kb)


Говори о чём думаешь! НО думай прежде чем о чем то говорить!
 
Ответить
СообщениеДоделал полностью userform и Макрос как он должен работать но нету вывода в listbox имён и поиск нужной строки "что бы совпадало и имя и фамилия" при выделении в listbox

Автор - JIuqep
Дата добавления - 19.11.2020 в 01:49
doober Дата: Четверг, 19.11.2020, 09:42 | Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Чисто мое мнение, надо алгоритм макросов менять
К сообщению приложен файл: 6012108.xlsm (182.7 Kb)




Сообщение отредактировал doober - Четверг, 19.11.2020, 09:53
 
Ответить
СообщениеЧисто мое мнение, надо алгоритм макросов менять

Автор - doober
Дата добавления - 19.11.2020 в 09:42
nilem Дата: Четверг, 19.11.2020, 10:33 | Сообщение № 12
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Привет всем
тоже интересно стало)
Вот что получилось
К сообщению приложен файл: 3176670.xlsm (79.2 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеПривет всем
тоже интересно стало)
Вот что получилось

Автор - nilem
Дата добавления - 19.11.2020 в 10:33
JIuqep Дата: Суббота, 21.11.2020, 05:54 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Спасибо Вам огромное doober! На вопрос как сделать два столбика в listbox я получил!
Спасибо Вам огромное nilem! Вы полностью сделали что я хотел! я конечно ещё две ночи изучал Ваши макросы! Допилил полностью! Единственное что ещё не нашёл как в listbox который я доделал удалить пустые строки в конце списков! но ещё ночка и я его победю ):! ЕЩЁ РАЗ ОГРОМНОЕ СПАСИБО ЗА ВАШ ТРУД! Желаю от души вам всех благ!
К сообщению приложен файл: 3553868.xlsm (181.9 Kb)


Говори о чём думаешь! НО думай прежде чем о чем то говорить!

Сообщение отредактировал JIuqep - Суббота, 21.11.2020, 05:56
 
Ответить
СообщениеСпасибо Вам огромное doober! На вопрос как сделать два столбика в listbox я получил!
Спасибо Вам огромное nilem! Вы полностью сделали что я хотел! я конечно ещё две ночи изучал Ваши макросы! Допилил полностью! Единственное что ещё не нашёл как в listbox который я доделал удалить пустые строки в конце списков! но ещё ночка и я его победю ):! ЕЩЁ РАЗ ОГРОМНОЕ СПАСИБО ЗА ВАШ ТРУД! Желаю от души вам всех благ!

Автор - JIuqep
Дата добавления - 21.11.2020 в 05:54
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вывод результатов поиска в два столбца в listBox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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