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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск строки в таблице по нескольким условиям (Макросы/Sub)
Поиск строки в таблице по нескольким условиям
AVI Дата: Среда, 18.07.2018, 05:56 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
Думал, что процедура которую мне подсказали в этом http://www.excelworld.ru/forum/10-38856-1 посте поможет решить задачу, но не тут-то было.
В целом задача стоит такая же, просто условия другие
Я выбираю наменование медкамента (например, Адреналин гидрохлорид (р-р, 0,1%, 1 мл.), затем за странице "Заказ у поставщика по договору" выбираю поставщика. Далее в окошко "Доступно для заказа" выгружается остаток выбранного медикамента у выбранного поставщика.
В указанном выше посте мне порекомендовали использовать Range вместо ListObjects, но я не умею так. Я разобрался как искать строчку в таблице по одному условию, вернее как разобрался… делаю по образу и подобию, но как включить в поиск несколько условий (в частности медикамент и поставщика) я не знаю.
К сообщению приложен файл: 0504342.xlsb(79.8 Kb)
 
Ответить
СообщениеДумал, что процедура которую мне подсказали в этом http://www.excelworld.ru/forum/10-38856-1 посте поможет решить задачу, но не тут-то было.
В целом задача стоит такая же, просто условия другие
Я выбираю наменование медкамента (например, Адреналин гидрохлорид (р-р, 0,1%, 1 мл.), затем за странице "Заказ у поставщика по договору" выбираю поставщика. Далее в окошко "Доступно для заказа" выгружается остаток выбранного медикамента у выбранного поставщика.
В указанном выше посте мне порекомендовали использовать Range вместо ListObjects, но я не умею так. Я разобрался как искать строчку в таблице по одному условию, вернее как разобрался… делаю по образу и подобию, но как включить в поиск несколько условий (в частности медикамент и поставщика) я не знаю.

Автор - AVI
Дата добавления - 18.07.2018 в 05:56
_Boroda_ Дата: Среда, 18.07.2018, 09:10 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13661
Репутация: 5575 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
И какой вопрос-то?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИ какой вопрос-то?

Автор - _Boroda_
Дата добавления - 18.07.2018 в 09:10
AVI Дата: Среда, 18.07.2018, 09:31 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, Нужно что бы при выборе медикамента и поставщика со страницы "заказ у поставщика по договору" в окошко "Доступно для заказа" (txb_RestSupplCount) подгружалось информация из строки, соответсвующей указанным медикаменту и поставщику, из таблицы "Договоры_tb" из столбца "Остатки"

Что-то типа ВПР по нескольким условиям


Сообщение отредактировал AVI - Среда, 18.07.2018, 09:36
 
Ответить
Сообщение_Boroda_, Нужно что бы при выборе медикамента и поставщика со страницы "заказ у поставщика по договору" в окошко "Доступно для заказа" (txb_RestSupplCount) подгружалось информация из строки, соответсвующей указанным медикаменту и поставщику, из таблицы "Договоры_tb" из столбца "Остатки"

Что-то типа ВПР по нескольким условиям

Автор - AVI
Дата добавления - 18.07.2018 в 09:31
_Boroda_ Дата: Среда, 18.07.2018, 09:47 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13661
Репутация: 5575 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А сейчас что, не так? Напишите конкретно - выбираю показатели ААА и БББ в таких-то полях и в поле ххх вылезает ЯЯЯ, а должно вылезать ЧЧЧ потому, что ...


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА сейчас что, не так? Напишите конкретно - выбираю показатели ААА и БББ в таких-то полях и в поле ххх вылезает ЯЯЯ, а должно вылезать ЧЧЧ потому, что ...

Автор - _Boroda_
Дата добавления - 18.07.2018 в 09:47
AVI Дата: Среда, 18.07.2018, 09:54 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
Выбираю медикамент (Адреналин гидрохлорид (р-р, 0,1%, 1 мл.))
Выбираю поставщика главной формы на странице "Заказ у поставщика по договору"

Я умею искать только по одному условию (сейчас в коде ищется строка, которая соответствует поставщику)


Как изменить код так, что бы искалось не только по поставщику, но еще и по медикаменту одновременно.
К сообщению приложен файл: 2710749.xlsb(97.1 Kb)


Сообщение отредактировал AVI - Среда, 18.07.2018, 09:55
 
Ответить
СообщениеВыбираю медикамент (Адреналин гидрохлорид (р-р, 0,1%, 1 мл.))
Выбираю поставщика главной формы на странице "Заказ у поставщика по договору"

Я умею искать только по одному условию (сейчас в коде ищется строка, которая соответствует поставщику)


Как изменить код так, что бы искалось не только по поставщику, но еще и по медикаменту одновременно.

Автор - AVI
Дата добавления - 18.07.2018 в 09:54
_Boroda_ Дата: Среда, 18.07.2018, 10:16 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13661
Репутация: 5575 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Sub SearchRestSuppl() ' поиск остатков у поставщика
    Dim ar, i
    ar = Range("Договоры_tb")'суем всю таблицу в массив
    With UF_Main'работаем с формой Мейн
        For i = 1 To UBound(ar)'цикл от 1 до кол-ва строк в массиве
            If ar(i, 1) = .cbx_MainNameMedic.Value Then'если первый столбец равен медикаменту
                If ar(i, 2) = .cbx_OrderSuppl.Value Then'а второй равен поставщику
                    .txb_RestSupplCount.Value = ar(i, 9)'выводим кол-во
                    Exit Forвыходим из цикла
                End If
            End If
        Next i
    End With
[/vba]

*Добавил комментарии к коду
К сообщению приложен файл: 0504342_1.xlsb(81.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Среда, 18.07.2018, 10:28
 
Ответить
СообщениеТак нужно?
[vba]
Код
Sub SearchRestSuppl() ' поиск остатков у поставщика
    Dim ar, i
    ar = Range("Договоры_tb")'суем всю таблицу в массив
    With UF_Main'работаем с формой Мейн
        For i = 1 To UBound(ar)'цикл от 1 до кол-ва строк в массиве
            If ar(i, 1) = .cbx_MainNameMedic.Value Then'если первый столбец равен медикаменту
                If ar(i, 2) = .cbx_OrderSuppl.Value Then'а второй равен поставщику
                    .txb_RestSupplCount.Value = ar(i, 9)'выводим кол-во
                    Exit Forвыходим из цикла
                End If
            End If
        Next i
    End With
[/vba]

*Добавил комментарии к коду

Автор - _Boroda_
Дата добавления - 18.07.2018 в 10:16
AVI Дата: Среда, 18.07.2018, 10:22 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, Да, спасибо. У Вас совершенно другой доход в решению. Лаконично и эффективно. Только я все равно не понял как это работает. Просто у меня планируется еще в нескольких местах использовать эту процедуру и снова с тем же к вам обращаться не хочу... Можно, если будет возможность, прокомментировать работу процедуры, хотя бы в общих словах?


Сообщение отредактировал AVI - Среда, 18.07.2018, 10:24
 
Ответить
Сообщение_Boroda_, Да, спасибо. У Вас совершенно другой доход в решению. Лаконично и эффективно. Только я все равно не понял как это работает. Просто у меня планируется еще в нескольких местах использовать эту процедуру и снова с тем же к вам обращаться не хочу... Можно, если будет возможность, прокомментировать работу процедуры, хотя бы в общих словах?

Автор - AVI
Дата добавления - 18.07.2018 в 10:22
AVI Дата: Среда, 18.07.2018, 10:37 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, Благодарен. Буду пытаться разобраться
 
Ответить
Сообщение_Boroda_, Благодарен. Буду пытаться разобраться

Автор - AVI
Дата добавления - 18.07.2018 в 10:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск строки в таблице по нескольким условиям (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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