Private Sub OptionButton2_Click()
ListBox1.Clear
For i = 2 To Application.WorksheetFunction.CountA(Worksheets("BASE DE DADOS").Range("A:A"))
If Worksheets("BASE DE DADOS").Cells(i, "B").Text = Me.ComboBox1.Text And Worksheets("BASE DE DADOS").Cells(i, "C").Text = Me.ComboBox2.Text Then
Me.ListBox1.AddItem
ListBox1.List(i - 2, 0) = Worksheets("BASE DE DADOS").Cells(i, "A").Text
Me.ListBox1.AddItem
ListBox1.List(i - 2, 1) = Worksheets("BASE DE DADOS").Cells(i, "AR").Text
Me.ListBox1.AddItem
ListBox1.List(i - 2, 2) = Worksheets("BASE DE DADOS").Cells(i, "AS").Text
Me.ListBox1.AddItem
ListBox1.List(i - 2, 3) = Worksheets("BASE DE DADOS").Cells(i, "AT").Text
Me.ListBox1.AddItem
ListBox1.List(i - 2, 4) = Worksheets("BASE DE DADOS").Cells(i, "AU").Text
Me.ListBox1.AddItem
ListBox1.List(i - 2, 5) = Worksheets("BASE DE DADOS").Cells(i, "AV").Text
Me.ListBox1.AddItem
ListBox1.List(i - 2, 6) = Worksheets("BASE DE DADOS").Cells(i, "AW").Text
End If
Next
End Sub
嗨,我有这个问题。当我尝试搜索示例D 1时,它可以工作,但是如果我搜索D 2中的方法不起作用,有人可以帮助我吗?
我重构了代码,以使其更易于阅读。这样做时,我没有发现代码有问题。这使我认为您的数据有问题。我在要进行比较的两个元素上都添加了Trim()
。这将消除数据中存在不可见字符而导致比较失败的可能性。试试这个,让我知道它是否可以解决问题。
Private Sub OptionButton2_Click()
Me.ListBox1.Clear
Dim Dados As Worksheet
Set Dados = Worksheets("BASE DE DADOS")
For i = 2 To Application.WorksheetFunction.CountA(Dados.Range("A:A"))
If (Trim(Dados.Cells(i, "B").Text) = Trim(Me.ComboBox1.Text)) _
And (Trim(Dados.Cells(i, "C").Text) = Trim(Me.ComboBox2.Text)) Then
With Me.ListBox1
.AddItem
.List(i - 2, 0) = Dados.Cells(i, "A").Text
.List(i - 2, 1) = Dados.Cells(i, "AR").Text
.List(i - 2, 2) = Dados.Cells(i, "AS").Text
.List(i - 2, 3) = Dados.Cells(i, "AT").Text
.List(i - 2, 4) = Dados.Cells(i, "AU").Text
.List(i - 2, 5) = Dados.Cells(i, "AV").Text
.List(i - 2, 6) = Dados.Cells(i, "AW").Text
End With
End If
Next
End Sub