Bom dia sou iniciante em excel vba por isso minha dúvida pode parecer simples:
tenho uma uma userform onde eu entro com o código ou o nome do produto e automaticamente ele me retorna o valor desse produto e criei uma textbox chamado Entrada e outro Saída.O problema é que quando entro com o código queria que ele reconhecesse na Plan1 e desse entrada ou saída de acordo com o código selecionado e copiasse na respectiva linha do código selecionado.O que está acontecendo que ele só faz a entrada e saída na primeira linha da minha tabela.
Por favor me ajudem segue o código:
Option Explicit
Dim TotalRegistro As Integer
Private Sub código_Change()
If código.ListIndex = -1 Then
Exit Sub
End If
nomepesquisa.ListIndex = -1
TotalRegistro = código.ListIndex + 2
AtualizaControles
End Sub
Private Sub CommandButton2_Click()
If código = códigoproduto Then
Estoque = Val(Range("D3").Value) + Val(Range("F3").Value)
Else
ActiveCell.Offset(1, 0).Select
End If
End Sub
Private Sub CommandButton3_Click()
If código = códigoproduto Then
Estoque = Val(Range("F3").Value) - Val(Range("E3").Value)
MsgBox ("BAIXA EFETUADA COM SUCESSO!")
ActiveCell.Offset(1, 0).Select
Else
MsgBox ("NÃO TEM NO ESTOQUE!")
End If
End Sub
Private Sub CommandButton4_Click()
Entrada = ""
Saida = ""
End Sub
Private Sub Entrada_Change()
If código = códigoproduto Then
Range("D3").Value = Entrada
Else
ActiveCell.Offset(1, 0).Select
End If
End Sub
Private Sub Saida_Change()
If código = códigoproduto Then
Range("E3").Value = Saida
Else
ActiveCell.Offset(1, 0).Select
End If
End Sub
Private Sub Estoque_Change()
If código = códigoproduto Then
Range("F3").Value = Estoque
Else
ActiveCell.Offset(1, 0).Select
End If
End Sub
Private Sub Fechar_Click()
Unload Tela
End Sub
Private Sub nomepesquisa_Change()
If nomepesquisa.ListIndex = -1 Then
Exit Sub
End If
código.ListIndex = -1
TotalRegistro = nomepesquisa.ListIndex + 2
AtualizaControles
End Sub
Sub Atualizacódigo()
With Worksheets("Plan1")
TotalRegistro = .UsedRange.Rows.Count
If TotalRegistro > 1 Then
código.Enabled = True
código.RowSource = "Plan1!A2:A" & TotalRegistro
nomepesquisa.Enabled = True
nomepesquisa.RowSource = "Plan1!B2:B" & TotalRegistro
Else
código.Enabled = False
nomepesquisa.Enabled = False
End If
End With
End Sub
Private Sub UserForm_Initialize()
Atualizacódigo
End Sub
Private Sub AtualizaControles()
With Worksheets("Plan1")
códigoproduto.Value = .Cells(TotalRegistro, 1).Value
produto.Value = .Cells(TotalRegistro, 2).Value
valor.Value = .Cells(TotalRegistro, 3).Value
End With
Pergunta
Magliano
Bom dia sou iniciante em excel vba por isso minha dúvida pode parecer simples:
tenho uma uma userform onde eu entro com o código ou o nome do produto e automaticamente ele me retorna o valor desse produto e criei uma textbox chamado Entrada e outro Saída.O problema é que quando entro com o código queria que ele reconhecesse na Plan1 e desse entrada ou saída de acordo com o código selecionado e copiasse na respectiva linha do código selecionado.O que está acontecendo que ele só faz a entrada e saída na primeira linha da minha tabela.
Por favor me ajudem segue o código:
Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.