Искать 2 критерия в ListBox в VBA Excel - PullRequest
0 голосов
/ 20 января 2019

Мой код:

Sub Search_Click()

Dim x1, i As Long, ii As Long, iii As Integer
x1 = [myCar]
Application.ScreenUpdating = False
With ListBox1
    If TextBox2 = "" Then
        .RowSource = "myCar"
    Else
        .RowSource = ""
        For i = 1 To UBound(x1, 1)
            If LCase(x1(i, 2)) Like LCase(TextBox2) & "*" Then 'Search location column 2

                For ii = 1 To 10
                    .AddItem
                    .List(iii, ii - 1) = x1(i, ii)
                Next
                iii = iii + 1
            End If
        Next
    End If
End With
End Sub

«Поиск» - это CommandButton

«myCar» - это диапазон имен от A: J (10 столбцов) в sheet1, и это RowSource в ListBox1

«TextBox2» для критериев поиска ввода

Когда я открываю UserForm1, у меня есть другой код для синхронизации RowSource ("myCar") в ListBox1. После этого я могу искать данные в ListBox1 после их заполнения.

Приведенный выше код предназначен для поиска данных в ListBox1 по одному критерию в TextBox2.Мой код может выполнять поиск данных в ListBox1, который основан на критериях в столбце 2 в RowSource ("myCar")

=> Моя проблема:

Я хочу найти данные в ListBox1 (после заполнения) по 2 критериям:

  1. TextBox2.value = 1-й критерий, который представляет собой данные в столбце 2 в диапазоне («myCar»)

  2. TextBox3.value = 2-й критерий, который представляет собой данные в столбце 3 в диапазоне («myCar»)

1 Ответ

0 голосов
/ 20 января 2019

Если вы хотите оценить значение true на основе двух (или более) критериев, где все должно быть истинно, следует использовать логический оператор AND.Пример взят из https://www.excel -easy.com / vba / examples / logic-operator.html :

Dim score1 As Integer, score2 As Integer, result As String

score1 = Range("A1").Value
score2 = Range("B1").Value

If score1 >= 60 And score2 > 1 Then
    result = "pass"
Else
    result = "fail"
End If

Range("C1").Value = result

Измените оператор if, включив в него другие критерии, используя оператор AND.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...