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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск совпадений в умной таблице - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск совпадений в умной таблице (Макросы/Sub)
Поиск совпадений в умной таблице
Sashagor1982 Дата: Воскресенье, 10.10.2021, 22:33 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Добрый день, имеется умная таблица

И имеются входящие аргументы Фамилия, Имя, Отчество и дата рождения, подскажите каким образом можно перебрать все строки таблицы и в случае совпадения вернуть строку в которой обнаружено совпадение?


Сообщение отредактировал Sashagor1982 - Воскресенье, 10.10.2021, 22:34
 
Ответить
СообщениеДобрый день, имеется умная таблица

И имеются входящие аргументы Фамилия, Имя, Отчество и дата рождения, подскажите каким образом можно перебрать все строки таблицы и в случае совпадения вернуть строку в которой обнаружено совпадение?

Автор - Sashagor1982
Дата добавления - 10.10.2021 в 22:33
MikeVol Дата: Воскресенье, 10.10.2021, 23:27 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 313
Репутация: 59 ±
Замечаний: 0% ±

Excel LTSC 2021 EN
Sashagor1982, Загляните в соседнюю тему. Думаю вы сможете под себя адаптировать коды.
Поиск в Умной Талице через Юсэр Форм


Ученик.
 
Ответить
СообщениеSashagor1982, Загляните в соседнюю тему. Думаю вы сможете под себя адаптировать коды.
Поиск в Умной Талице через Юсэр Форм

Автор - MikeVol
Дата добавления - 10.10.2021 в 23:27
Sashagor1982 Дата: Вторник, 12.10.2021, 07:33 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
[vba]
Код
Private Sub TextBox_name_Change()
    Dim ws1 As Worksheet, tbl1 As ListObject, FoundCell As Range, answer As VbMsgBoxResult

    Set ws1 = Sheets("2021")
    Set tbl1 = ws1.ListObjects("OrderList")
    On Error Resume Next
    Set FoundCell = tbl1.DataBodyRange.Columns(2).Find(Me.TextBox_name.Value, LookIn:=xlValues, LookAt:=xlWhole)
    On Error GoTo 0

    If Not FoundCell Is Nothing Then
        Rows(FoundCell.Row).Select
    End If

End Sub
[/vba]
MikeVol, подскажите, как можно доработать код, что бы строка выделялась при совпадении четырех значений ФИО и даты рождения?
 
Ответить
Сообщение[vba]
Код
Private Sub TextBox_name_Change()
    Dim ws1 As Worksheet, tbl1 As ListObject, FoundCell As Range, answer As VbMsgBoxResult

    Set ws1 = Sheets("2021")
    Set tbl1 = ws1.ListObjects("OrderList")
    On Error Resume Next
    Set FoundCell = tbl1.DataBodyRange.Columns(2).Find(Me.TextBox_name.Value, LookIn:=xlValues, LookAt:=xlWhole)
    On Error GoTo 0

    If Not FoundCell Is Nothing Then
        Rows(FoundCell.Row).Select
    End If

End Sub
[/vba]
MikeVol, подскажите, как можно доработать код, что бы строка выделялась при совпадении четырех значений ФИО и даты рождения?

Автор - Sashagor1982
Дата добавления - 12.10.2021 в 07:33
MikeVol Дата: Среда, 13.10.2021, 00:43 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 313
Репутация: 59 ±
Замечаний: 0% ±

Excel LTSC 2021 EN
Sashagor1982, Да вроде выделяет строку. Если я вас правильно понял, пример ниже.

P.S. Забыл файл прикрепить.
К сообщению приложен файл: ____.xlsb (27.8 Kb)


Ученик.

Сообщение отредактировал MikeVol - Среда, 13.10.2021, 00:44
 
Ответить
СообщениеSashagor1982, Да вроде выделяет строку. Если я вас правильно понял, пример ниже.

P.S. Забыл файл прикрепить.

Автор - MikeVol
Дата добавления - 13.10.2021 в 00:43
Erjoma1981 Дата: Среда, 13.10.2021, 11:40 | Сообщение № 5
Группа: Проверенные
Ранг: Участник
Сообщений: 66
Репутация: 25 ±
Замечаний: 0% ±

Excel 2010, 2019
Вариант поиска строки по 4 критериям

[vba]
Код
Sub Кнопка1_Щелчок()
     Dim НомерСтроки As Integer
     On Error Resume Next
     НомерСтроки = Application.Evaluate("MATCH(""" & Range("F2").Value & Range("G2").Value _
                    & Range("H2").Value & CLng(Range("I2").Value) _
                    & """, Таблица1[Фамилия]&Таблица1[Имя]&Таблица1[Отчество]&Таблица1[Дата рождения],0) ")
     On Error GoTo 0
     If НомерСтроки <> 0 Then
        Rows(НомерСтроки + 1).Select
     End If
End Sub
[/vba]
К сообщению приложен файл: Sashagor1982.xlsm (19.7 Kb)


Сообщение отредактировал Erjoma1981 - Среда, 13.10.2021, 11:41
 
Ответить
СообщениеВариант поиска строки по 4 критериям

[vba]
Код
Sub Кнопка1_Щелчок()
     Dim НомерСтроки As Integer
     On Error Resume Next
     НомерСтроки = Application.Evaluate("MATCH(""" & Range("F2").Value & Range("G2").Value _
                    & Range("H2").Value & CLng(Range("I2").Value) _
                    & """, Таблица1[Фамилия]&Таблица1[Имя]&Таблица1[Отчество]&Таблица1[Дата рождения],0) ")
     On Error GoTo 0
     If НомерСтроки <> 0 Then
        Rows(НомерСтроки + 1).Select
     End If
End Sub
[/vba]

Автор - Erjoma1981
Дата добавления - 13.10.2021 в 11:40
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск совпадений в умной таблице (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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