我正在尝试运行当前给我第一条匹配行的代码,但是我希望它给出所有匹配行,不仅是第一行...而且还可能显示匹配结果在组合框或列表框上。
Private Sub CommandButton3_Click()
Dim last, i As Integer
Dim ref, refnovo, lote, armazem As String
'Sheets("1_Ref.paraProtocolar").Visible = True
Sheets("analisegeral").Select
last = Application.ThisWorkbook.Worksheets("analisegeral").Range("H65536").End(xlUp).Row
If UserForm1.OptionButton1 = True And UserForm1.OptionButton2 = False Then
GoTo numnovo
ElseIf UserForm1.OptionButton1 = False And UserForm1.OptionButton2 = True Then
GoTo numvelho
End If
'NUMERO VELHO
numvelho:
For i = 2 To last ' i é a linha, ciclo para fazer leitura dos utilizadores ' 3 e 4 colunas do utilizador e password
armazem = Cells(i, 8)
ref = Cells(i, 9)
refnovo = Cells(i, 10)
lote = Cells(i, 14)
If TextBox1.Text = ref And ComboBox3 = armazem Then
'TextBox2.Text = lote
ComboBox4 = lote
GoTo fim
End If
Next i
If TextBox1.Text <> ref Then
TextBox2.Text = ""
MsgBox "Referência não encontrada!", vbInformation
GoTo fim
End If
'NÚMERO NOVO
numnovo:
For i = 2 To last ' i é a linha, ciclo para fazer leitura dos utilizadores ' 3 e 4 colunas do utilizador e password
armazem = Cells(i, 8)
ref = Cells(i, 9)
refnovo = Cells(i, 10)
lote = Cells(i, 14)
If TextBox1.Text = refnovo And ComboBox3 = armazem Then
ComboBox4 = lote
GoTo fim
End If
Next i
If TextBox1.Text <> refnovo Then
TextBox2.Text = ""
MsgBox "Referência não encontrada!", vbInformation
GoTo fim
End If
fim:
End Sub
如果有人知道或做了类似的事情,我将不胜感激。
用户将插入一个引用,如果该引用具有任何数字,则它将返回该数字,但是某些引用具有多个关联的数字,每个引用最多可包含3个数字,因此用户将插入参考,如果有1个或多个数字,则他必须能够选择。
答案 0 :(得分:0)
您应该使用ComboBox4 = lote
而不是使用ComboBox4.addItem lote
。另外,请删除GoTo fim
内的for loop
,因为当您第一次满足if
的条件时,它将使您转到子标题的末尾,因此可以只有第一场比赛。
您还应该在代码开头的某个时刻使用ComboBox4 = ""
或等效符号,以在代码再次开始运行时重置组合框。