Страницы: 1
RSS
Поиск номера строки по трём значениям из 3 ComboBox-ов
 
Добрый день.
Я не спец в VBA, по этому решил попросить небольшой помощи у вас уважаемые форумчане.
Я бы хотел получать номер строки из таблицы состоящих из трёх столбцов, номер строки должен соответствовать всем трём данным в ComboBox - ов.
Буду рад любой помощи.
 
Особо не вникал в суть действа, но чем обычная фильтрация не устраивает?
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Код
Private Sub CommandButton1_Click()
Dim a%, b%, c%
a = ComboBox1.ListIndex + 1
b = ComboBox2.ListIndex + 1
c = ComboBox3.ListIndex + 1
If a < 0 Or b < 0 Or c < 0 Then Exit Sub
TextBox1.Text = CInt(ComboBox3.Value) + 1
End Sub
 
Цитата
wowick написал: Особо не вникал в суть действа, но чем обычная фильтрация не устраивает?
в другой теме:
Цитата
wowick написал: Файл не смотрел. У вас январь 2016= январь 2017? Или это разные январи? Если да, то надо еще и год учитывать...
:D
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Dyroff,а где смеяться надо?
Если автоматизировать бардак, то получится автоматизированный бардак.
 
wowick,  Ну мне бы, как автору темы вряд ли бы помог ответ человека, который не вник в суть вопроса, или не глядя файл просто решил прокомментировать.
Но это сугубо мое личное мнение, целью которого не является предъявлять какие-бы то ни было претензии и прочее. тем более я могу и ошибаться
Просто представил себя на месте автора темы, и меня это улыбнуло.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Anchoret, Спасибо огромное это то что нужно. :-)
 
Цитата
Dyroff написал:
который не вник в суть вопроса
Объясните мне, чем данный макрос принципиально отличается от обычной фильтрации? Только тем, что ради него надо написать много строчек кода???
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Anchoret, я прошу прошенья за наглость, хотелось бы прояснить отбор номера стоки происходит только по третьему значению? А два первых должны быть? Правильно?
 
stasdi, так последний номер + 1 = номеру строки в таблице. Всю фильтрацию делают прочие макросы - обработчики событий комбобоксов через коллекции. На всякий случай поставил проверку на заполненность всех значений по трем комбо. Т.е. везде ли что-либо выбрано. Вдруг это было важно)
 
Anchoret, да действительно всё верно, это важно.
спасибо огромное, но я заметил что приповторном нажатии на стрелку всплывающего списка в комбоксе 2 и 3 список почемуто удваевается, это странно. Не скажете как поправить?
 
Код
...
 TextBox1.Text = CInt(ComboBox3.Value) + 1
   Me.ComboBox1 = ""
   Me.ComboBox2.Clear
   Me.ComboBox3.Clear
End Sub


 
Добрый день. Спасибо за ответ, но это не совсем то. Разобрался сам:
Код
If ComboBox1 = "" Then ...

End If
 
Anchoret, скажите пожалуйста, а если в третей колонке не цифры то что применить вместо СInt? Как найти номер строки?
Изменено: stasdi - 20.03.2018 15:54:00
 
stasdi, CInt конвертирует значение из ComboBox в Integer (целое двух байтовое число).
По уму всю таблицу в массив, в этом массиве индекс (номер) строки - это почти нужный нам номер строки на листе (если брать в массив без шапки таблицы). Наверное ничего не поняли?)
Тогда расскажите чего вы пытаетесь добиться при помощи этой юзерформы?
 
Цитата
stasdi написал:
Спасибо за ответ, но это не совсем то
И почему же "не то"? Разве мой вариант не устраняет увеличение количества строк в КомбоБоксах? Ведь именно это Вы просили в #11.
 
Юрий, я прошу прощения, но вы сами пробовали этот код? В моём примере он действительно не дублирует список в Combobox, но и выбрать что либо из раскрывающегося списка тоже становиться нельзя.
 
Anchoret, Я прошу прощения за не грамотность, но я пытаюсь добиться поиска номера строки искомой даты в таблице, как в прикреплённом примере.
В прошлый раз вы дали мне код для поиска номера строки целого числа, но как только в этот столбец я поместил даты или текст, код перестал работать. (ошибка13).
Я бы хотел чтоб код был универсальный для поиска по любому значению.  
 
Цитата
stasdi написал:
Юрий, я прошу прощения, но вы сами пробовали этот код?
Конечно пробовал. У меня выбор из всех КомбоБоксов возможен.  
 
Цитата
stasdi написал:
чтоб код был универсальный для поиска по любому значению.
 
Anchoret, Спасибо огромное за помощь.
Изменено: stasdi - 10.04.2018 13:39:46
 
Anchoret, а есть ли свойство combobox или простой код для сортировки от меньшего к большему?
Изменено: stasdi - 01.05.2018 20:43:39
 
Вопрос не по теме.
Страницы: 1
Наверх