Olá leandroribas.
Coloque a rotina abaixo no teu formulário para que o listbox seja preenchido com os critérios selecionados nos comboboxs.
Lembro que na sua lista de atletas algumas categorias não batem com o texto do combobox o que faz com que a categoria não seja retornada. Por exemplo: Em tua lista de categorias (na plan1) vc define uma categoria como 'Sênior' (Acento circunflexo) e na lista de atletas aparece 'Sénior' (acento agudo) logo não funciona visto que o VBA entende que eles são diferentes.
.................................
Private Sub btnAlterar_Click()
On Error GoTo Erro
' Declaração de variáveis
Dim Categoria, Faixa, Peso, Equipe As String
' Carrega variaveis
Categoria = UCase(Me.Cb1)
Faixa = UCase(Me.Cb2)
Peso = UCase(Me.ComboBox1)
Equipe = UCase(Me.ComboBox2)
Me.ListBox1.Clear
For i = 1 To 200
' Verifica se categoria escolhida pertence a algum atleta
If UCase(Worksheets("plan3").Range("D" & i).Value) <> Categoria Then GoTo Proximo ' Se nao... procura na proxima linha
If UCase(Worksheets("plan3").Range("C" & i).Value) <> Faixa Then GoTo Proximo ' Nao bate
If UCase(Worksheets("plan3").Range("E" & i).Value) <> Peso Then GoTo Proximo ' Nao bate
If UCase(Worksheets("plan3").Range("B" & i).Value) <> Equipe Then GoTo Proximo ' Nao bate
' se chegou aqui é porque todos os criterios foram atendidos...
' ... então cria um item no listbox
Me.ListBox1.AddItem Worksheets("plan3").Range("A" & i).Value
Proximo:
Next i
Me.ListBox1.AddItem "Nenhum atleta atende aos criterios informados"
Exit Sub
Erro:
MsgBox "Nenhum atleta atende aos criterios informados", vbInformation, "Opss!"
End Sub
.................................
Se não for isto, dá um toque.
Gnd abç.
Gnd abç.
Postado : 25/07/2013 8:16 pm