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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск при изменении optionbutton - Мир MS Excel

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

Excel 2016
Добрый день!
Еще вопрос
Каким-то чудом на главной форме, на странице "Выдать со склада" у меня получилось при выборе медикамента отобразить количество на складе (Таблица "Медикаменты"). Но никак не получается заставить форму отобразить количество медикаментов в дневном стационаре из таблицы "Стационар_tb", если меняется галка.
То есть при смене галки со "склад" на "дневной стационар" в окошке "Остаток на складе" значение должно меняться и наоборот.
Я пытался через else сделать, но оно почему-то не работает…

Я делаю так потому как мне относительно понятно что из чего получается.

Может есть как-то более удобный способ учитывать два условия при поиске.

К сообщению приложен файл: 1178557.xlsb(96.1 Kb)
 
Ответить
СообщениеДобрый день!
Еще вопрос
Каким-то чудом на главной форме, на странице "Выдать со склада" у меня получилось при выборе медикамента отобразить количество на складе (Таблица "Медикаменты"). Но никак не получается заставить форму отобразить количество медикаментов в дневном стационаре из таблицы "Стационар_tb", если меняется галка.
То есть при смене галки со "склад" на "дневной стационар" в окошке "Остаток на складе" значение должно меняться и наоборот.
Я пытался через else сделать, но оно почему-то не работает…

Я делаю так потому как мне относительно понятно что из чего получается.

Может есть как-то более удобный способ учитывать два условия при поиске.


Автор - AVI
Дата добавления - 17.07.2018 в 11:42
sboy Дата: Вторник, 17.07.2018, 12:32 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2009
Репутация: 575 ±
Замечаний: 0% ±

Excel 2010
Добрый день в таблице "Стационар_tb" у вас ссылки, поэтому в метод Find надо добавить параметр LookIn:=xlValues
и Cell это у Вас одна ячейка, надо тут поменять
[vba]
Код
UF_Main.txb_RestStock.Value = Cell.Offset(0, 12)
[/vba]
весь код будет таким
[vba]
Код
Sub SearchCountStock() ' поиск количества медикаментов на складе

    Dim Cell As Range
       
        If UF_Main.cbx_MainNameMedic.Value = "" Then
            UF_Main.txb_RestStock.Value = ""
            UF_Main.txb_OperCount.Value = ""
            UF_Main.cbx_OperRecipient.Value = ""
            Exit Sub 'далее работа не нужна
        End If
        
        Set ShUF_Main = ThisWorkbook.Worksheets("Расчет")
        Set UF_MainListObj = IIf(UF_Main.opb_sklad.Value, ShUF_Main.ListObjects("Медикаменты"), ShUF_Main.ListObjects("Стационар_tb"))
        Set Cell = UF_MainListObj.ListColumns.Item(1).Range.Find(UF_Main.cbx_MainNameMedic.Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not Cell Is Nothing Then
            UF_Main.txb_RestStock.Value = Cell.Offset(0, 12)
        End If
End Sub
[/vba]
 
Ответить
СообщениеДобрый день в таблице "Стационар_tb" у вас ссылки, поэтому в метод Find надо добавить параметр LookIn:=xlValues
и Cell это у Вас одна ячейка, надо тут поменять
[vba]
Код
UF_Main.txb_RestStock.Value = Cell.Offset(0, 12)
[/vba]
весь код будет таким
[vba]
Код
Sub SearchCountStock() ' поиск количества медикаментов на складе

    Dim Cell As Range
       
        If UF_Main.cbx_MainNameMedic.Value = "" Then
            UF_Main.txb_RestStock.Value = ""
            UF_Main.txb_OperCount.Value = ""
            UF_Main.cbx_OperRecipient.Value = ""
            Exit Sub 'далее работа не нужна
        End If
        
        Set ShUF_Main = ThisWorkbook.Worksheets("Расчет")
        Set UF_MainListObj = IIf(UF_Main.opb_sklad.Value, ShUF_Main.ListObjects("Медикаменты"), ShUF_Main.ListObjects("Стационар_tb"))
        Set Cell = UF_MainListObj.ListColumns.Item(1).Range.Find(UF_Main.cbx_MainNameMedic.Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not Cell Is Nothing Then
            UF_Main.txb_RestStock.Value = Cell.Offset(0, 12)
        End If
End Sub
[/vba]

Автор - sboy
Дата добавления - 17.07.2018 в 12:32
sboy Дата: Вторник, 17.07.2018, 12:35 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2009
Репутация: 575 ±
Замечаний: 0% ±

Excel 2010
И добавлю не по теме. Умные таблицы я бы объявлял через Range, а не ListObjects
Не забудьте этот код повесить еще на изменение переключателя
 
Ответить
СообщениеИ добавлю не по теме. Умные таблицы я бы объявлял через Range, а не ListObjects
Не забудьте этот код повесить еще на изменение переключателя

Автор - sboy
Дата добавления - 17.07.2018 в 12:35
AVI Дата: Вторник, 17.07.2018, 13:32 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 352
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
sboy, Спасибо!
Каждый день что-то новое узнаю))
 
Ответить
Сообщениеsboy, Спасибо!
Каждый день что-то новое узнаю))

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

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