FIND COMBOBOX

IRENKO 21/05/2015 16:02:11
#446860
NId = InputBox$([Ô]Informe o Código do Locatário[Ô], [Ô]Buscar por Código[Ô])
Lb_Conta.Caption = NId

If Trim$(NId) <> [Ô][Ô] Then

For i = 0 To ComboNome.ListCount
If ComboNome.List(i, 1) = NId Then
ComboNome.ListIndex = i
Exit For
End If
Next

End If
Com a rotina acima eu pesquiso em um combobox o ID de um item carregado no NId, funciona perfitamente quando o mesmo esta na lista do combobox, mas quando o mesmo não existir? Como eu informo que o NId não existe na lista carregada no combo?
Isoo é uma daptação para VBA.
JABA 21/05/2015 21:21:16
#446875
Resposta escolhida
Faz assim:

If Trim$(NId) <> [Ô][Ô] Then
For i = 0 To ComboNome.ListCount
If ComboNome.List(i, 1) = NId Then
ComboNome.ListIndex = i
Exit For
End If
[ô]Se o indice da contagem for o último, então é porque não existe um valor para o NID, pois se existisse, o comando Exit For sairia do loop e nunca exibiria a mensagem abaixo.
If i = ComboNome.ListCount then Msgbox([Ô]O Nid não foi encontrado[Ô])
Next
End If


Você tem certeza que em ComboNome.ListCount não teria que subtrair uma unidade? Acho que o certo é fazer assim: ComboNome.ListCount-1, pois o indice está começando no zero.
Tópico encerrado , respostas não são mais permitidas