mauro se vc baixou o formulario vc vai ver q tem a txtbox codigo e a txt qtde . talvez não fui claro ; o que preciso ao digitar o codigo por ex: 1010 ou 1020 ao digitar o quarto digito no caso 1010 o n° "0" ele ja fazer a pesquisa sem apertar o enter ou tab . tentei pelo evento after mas tem que apertar o enter ou tab consegui pelo evento chance só que nesta textbox tambem tem o evento key up q ao apertar F4 abre um form para colocar a qtde so que na hora q joga para a listbox joga 2 x olha o codigo abaixo
Private Sub txt_cod_Change()
Sheets("produtos").Select
Range("B3").Select
Dim contador As Integer
contador = 0
Do While ActiveCell.Value <> txt_cod.Text And contador < 150
ActiveCell.Offset(1, 0).Select
contador = contador + 1
Loop
If ActiveCell.Value = txt_cod.Text Then
txt_unit.Text = ActiveCell.Offset(0, 2).Value
txt_unid.Text = ActiveCell.Offset(0, 3).Value
txt_descricao.Text = ActiveCell.Offset(0, 1).Value
txt_estoque.Text = ActiveCell.Offset(0, 4).Value
Else
negativa.Show
txt_cod = ""
txt_descricao = ""
txt_unid = ""
txt_unit = ""
txt_estoque = ""
txt_cod.Enabled = True
sub_total = ""
End If
On Error GoTo error:
If txt_qtde = "" Then
txt_qtde = 1
sub_total.Text = txt_qtde * txt_unit
sub_total = FormatCurrency(sub_total)
Else
sub_total.Text = txt_qtde * txt_unit
sub_total = FormatCurrency(sub_total)
End If
'cupon = (txt_cod.Text + " " + txt_qtde.Text + " x " + txt_descricao.Text + " " + txt_unit.Value + " " + sub_total.Text)
cupon = ("x")
With Me.cupom
.AddItem
'.List(.ListCount - 1, 0) = cupon
'.List(.ListCount - 1, 1) = sub_total
On Error GoTo error
txt_unit.Text = FormatCurrency(txt_unit)
.List(.ListCount - 1, 0) = txt_cod
.List(.ListCount - 1, 1) = txt_qtde
.List(.ListCount - 1, 2) = cupon
.List(.ListCount - 1, 3) = txt_descricao
.List(.ListCount - 1, 4) = txt_unit
.List(.ListCount - 1, 5) = sub_total
'Let cupom.ColumnWidths = "60;0"
Let cupom.ColumnWidths = "40;25;15;90;60;15"
End With
Call CommandButton2_Click
txt_cod = ""
txt_qtde = ""
Me.txt_cod.SetFocus
error:
End Sub
esse codigo joga o produto qtde na lixt box
no cod abaixo na mesma txbox abre uo form se caso o produto for mais de 1 pois a ideia é fazer como um sistema de mercado.
Private Sub txt_cod_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case vbKeyF2
UserForm4.Show
Case vbKeyF3
MsgBox Aplicativo & " " & AppVersao, vbInformation + vbOKOnly, "...::: SEI :::..."
Case vbKeyF4
UserForm5.Show
Case vbKeyF5
Dim Calculadora As Double
Calculadora = Shell("calc.exe", vbNormalFocus)
Case vbKeyF6
Case vbKeyEscape
'FECHA FORMULÁRIO
Beep
If MsgBox("Deseja sair da tela de manutenção das OS? Todos os dados na tela serão perdidos.", vbQuestion + vbYesNo, Aplicativo & " " & AppVersao) = vbYes Then
Unload Me
End If
End Select
End Sub
no caso da txtbox qtde olha só ela volta sozinha pois ja tinha colocado o evento enter
Private Sub txt_qtde_Enter()
txt_cod.SetFocus
End Sub
ou seja um dos problemas foi resolvido que é o foco na textbox so que joga 2x na listbox porque a ideia é por um leitor de codigo de barras pois estou desenvolvendo para um teste o codigo chefe esta na textbox cod com evento change
Postado : 19/08/2015 4:07 pm