Страницы: 1
RSS
Вывод данных в TextBox по 4-м условиям ComboBox
 
здравствуйте!
Подскажите как дописать код. С другой книги берутся данные, при выборе имени в ComboBox1 Сергей и дате в ComboBox9 28.07.2021 ИР в ComboBox7 10.16.240.51 в ComboBox8 оставалася только запись 16:04:49 Сергей, при нажатии в TextBox15 выводилась инфа Волгодонск, Березовая ул., д.98
Практически так все и работает, но криво. На мой взгляд он фильтрует по ComboBox7/8 адекватно, по остальным не очень.
Это часть кода, сбрасываю без дополнительного файла но с листом данных лист2.
Как переделать код для того чтобы он отфильтровал по нужным данным
Благодарю Вас за труд!
Код
Private Sub ComboBox1_Change()
Call AccelerateBegin
'Windows("1 Chat.xlsb").Visible = True
Application.Workbooks.Open ("d:\-\Profiles\DeskTop\Новая папка\2.xlsb")
Dim i As Long, LastRow As Long, kategorija As String
kategorija = Me.ComboBox1
With Sheets("лист2")
LastRow = .Cells(Rows.Count, 84).End(xlUp).Row
For i = 2 To LastRow
If .Cells(i, 84) = kategorija Then
Me.ComboBox9.AddItem .Cells(i, 86)
End If
Next
End With
'Windows("1 Chat.xlsb").Visible = False
Call AccelerateEnd
End Sub
Private Sub ComboBox9_Change()
Call AccelerateBegin
Application.Workbooks.Open ("d:\-\Profiles\DeskTop\Новая папка\2.xlsb")
'Windows("1 Chat.xlsb").Visible = True
Dim i As Long, LastRow As Long, kategorija As String
Me.ComboBox7.Clear
kategorija = Me.ComboBox9
With Sheets("лист2")
LastRow = .Cells(Rows.Count, 86).End(xlUp).Row
For i = 2 To LastRow
If .Cells(i, 86) = kategorija Then
Me.ComboBox7.AddItem .Cells(i, 87)
End If
Next
End With
'Windows("1 Chat.xlsb").Visible = False
Call AccelerateEnd
End Sub
Private Sub ComboBox7_Change()
Call AccelerateBegin
'Windows("1 Chat.xlsb").Visible = True
Dim i As Long, LastRow As Long, kategorija As String
Me.ComboBox8.Clear
kategorija = Me.ComboBox7
With Sheets("лист2")
LastRow = .Cells(Rows.Count, 87).End(xlUp).Row
For i = 2 To LastRow
If .Cells(i, 87) = kategorija Then
Me.ComboBox8.AddItem .Cells(i, 88)
End If
Next
End With
'Windows("1 Chat.xlsb").Visible = False
End Sub
Private Sub ComboBox8_Change()
Call AccelerateBegin
'Windows("1 Chat.xlsb").Visible = True
Dim i As Integer, a
With Worksheets("лист2")
For i = 2 To .Cells(Rows.Count, 88).End(xlUp).Row
If .Cells(i, 88).Value = ComboBox8.Value Then
If a = "" Then
a = .Cells(i, 89).Value
Else
End If
End If
Next i
End With
TextBox15.Value = a
'Windows("1 Chat.xlsb").Visible = False
Call AccelerateEnd
End Sub

Private Sub CommandButton1_Click()

End Sub

Private Sub CommandButton2_Click()
Call AccelerateBegin
'Windows("2.xlsb").Visible = True
'ActiveWorkbook.Save
'Application.Workbooks("2").Close
'Application.ScreenUpdating = True
Unload Me
End Sub
Изменено: Ян Копко - 29.07.2021 18:15:46
 
Добрый день!
Если вам нужен поиск по введенным значениям, то на форуме много таких тем, вот например
 
Ян Копко, Добрый день!
Вы бы привели свой код в порядок, сделали его более читабельным и тогда у Вас было бы меньше ошибок, опечаток и т.п. Пока пытался понять, что Вы хотите все глаза сломал, плюнул и не стал даже разбираться. Вы приложили файл пример без файлов на которых находится информация для поиска. Вы предлагаете нам самим дофантазировать где, что и как. Если мне даже совсем будет нечего делать я этим не стану заниматься. Конечно говорю только за себя, возможно кто-то будет. Поэтому, как мне кажется, для получения адекватной помощи, Вам нужно привести в порядок Ваш пример, возможно, чтобы не прикладывать два файла, измените часть кода которая ссылается на "d:\-\Profiles\DeskTop\Новая папка\2.xlsb" на лист из файла с примером, либо приложите ещё один файл со имеющейся структурой.
Изменено: msi2102 - 30.07.2021 10:41:18
Страницы: 1
Наверх