Notifications
Clear all

Procurando valor em uma coluna

6 Posts
2 Usuários
0 Reactions
1,275 Visualizações
(@humberto)
Posts: 76
Estimable Member
Topic starter
 

Boa Tarde a todos
estou com dificuldade para colocar uma programação no VBA, tenho uma planilha com uma coluna com muitos codigos, eu queria criar uma botão de consulta, que, quando eu digitasse este código me retornaria, em algumas Label do meu projeto, as informações referente a este còdigo, e me retornasse também uma msgbox se o codigo não existisse.
eu fiz mais ou menos a programação mais não esta dando certo ficou assim:
Private Sub btn_consulta_Click()

If txt_ = "" Then
MsgBox " DIGITE O CODIGO !!! "
txt_o.SetFocus
Exit Sub

Else
u = 3
While (Plan2.Cells(u, 1) <> txt_)
u = u + 1
If u > 100 Then
MsgBox "ESTE CODIGO NÃO EXISTE"

Exit Sub
txt_ = ""
txt_

Else
NESTA PARTE VAI OUTRA PARTE DA PROGRAMAÇÃO
Wend
End If

SEDE DE JÁ FICO MUITO AGRADECIDO

 
Postado : 20/03/2013 3:30 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pode postar (em formato compactado Zip, 7z ou rar) seum modelo/exemplo?

 
Postado : 20/03/2013 3:39 pm
(@humberto)
Posts: 76
Estimable Member
Topic starter
 

Na verdade a planilha é muito grande e tem outras pessoas acessando, basicamente eu só queria saber se tem algum erro no código que eu postei,
A ideia é:
Procurar o valor em uma coluna, igual ao procV, mais sera usado esta consulta em um form, quando eu digitar o codigo do cliente no textbox, vai aparecer nas Label ou Textbox POSTERIORES outras informações, TIPO nome, idade, sexo, endereço,cidade,etc.
E se este codigo não existir aparecera uma MSGbox "este codigo não existe, digite um codigo valido".
DESDE DE JÁ AGRADEÇO PELA AJUDA
ATÉ MAIS
OBRIGADO

 
Postado : 20/03/2013 8:32 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pelo trecho do codigo, há aparentemente uma inversão entre os if's e while
Experimente assim:

Private Sub btn_consulta_Click()
If txt_ = "" Then
MsgBox " DIGITE O CODIGO !!! "
txt_o.SetFocus
Exit Sub

Else
u = 3
While (Plan2.Cells(u, 1) <> txt_)
u = u + 1
If u > 100 Then
MsgBox "ESTE CODIGO NÃO EXISTE"
Exit Sub
txt_ = ""
Else
'NESTA PARTE VAI OUTRA PARTE DA PROGRAMAÇÃO
End If
Wend
End If
End Sub

Ou assim:

Private Sub btn_consulta_Click()
If txt_ = "" Then
    MsgBox " DIGITE O CODIGO !!! "
   txt_.SetFocus
   Exit Sub
End If
u = 3
While (Plan2.Cells(u, 1) <> txt_)
u = u + 1
If u > 100 Then
   MsgBox "ESTE CODIGO NÃO EXISTE"
   Exit Sub
   txt_ = ""
Else
   'NESTA PARTE VAI OUTRA PARTE DA PROGRAMAÇÃO
End If
Wend
[code][/code]End Sub
 
Postado : 21/03/2013 5:37 am
(@humberto)
Posts: 76
Estimable Member
Topic starter
 

Boa noite ainda continuo tendo problema com o código, estou postando o código novamente para você me ajudar.
Private Sub btn_consulta_Click()

If txt_inf_pro.Text = "" Then
MsgBox " DIGITE O NUMERO DO INFORME !!! "
txt_inf_pro.SetFocus
Exit Sub

End If
u = 3
While (Plan2.Cells(u, 1) <> txt_inf_pro)
u = u + 1
' If txt_inf_pro.Text <> I Then
If u > 100 Then
MsgBox "ESTE INFORME NÃO EXISTE"
MsgBox "DIGITE UM INFORME VALIDO"

txt_inf_pro.Text = ""
txt_inf_pro.SetFocus

Exit Sub
Else
Worksheets("INFORME_REC").Select
Range("B40") = txt_inf_pro.Value
Me.lbl_cod_pro = Worksheets("INFORME_REC").Range("H40").Text
Me.lbl_os_pro = Worksheets("INFORME_REC").Range("N40").Text
Me.lbl_batch_pro = Worksheets("INFORME_REC").Range("T40").Text
Me.lbl_data_pro = Worksheets("INFORME_REC").Range("Z40").Text
txt_qtd_apro.SetFocus
End If

Wend
end sub

Até mais

 
Postado : 22/03/2013 4:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sómente pelo codigo sem uma planilha e uma pequena descriçao do problema encontrado fica dificil. Muitas vezes e a estrutura de seu arquivo que pode gerar algum "desconforto".
Não é necessario a planilha completa, mas um exemplo com poucos itens, porem que seja significativo da estrutura da mesma. Dados confidenciais ou que julque inapropriado ser divulgado, deve ser substituido por dados ficticios.

 
Postado : 22/03/2013 4:07 pm