Prezados, boa tarde.
Estou com uma duvida para executar um comando VBA, eu preciso digitar um código(Coluna a) em formulário VBA que eu vou criar, o comando vai buscar na planilha esse código que eu digitei e no mesmo formulário eu insiro o preço(Coluna E) de um produto e quando eu clicar em inserir já abastece o campo preço deste produto na planilha de dados.
É um como se eu acionasse o comando localizar do Excel manualmente e fosse no campo do preço e alterasse ou inserisse o preço.
O form do VBA vai conter apenas as Labels; Digite o código , Digite o preço; os textBoxs código e preço; e dois botões inserir e cancelar.
Espero que possam me ajudar.
Abs.
humberto,
Adicione em um módulo, o que se segue :
Sub atualizaPreco(ByVal CodProduto As String, ByVal precoProd As Double) Dim planBase As Worksheet Dim pesqProduto Set planBase = ThisWorkbook.Sheets(1) With planBase With .Range("A:A") Set pesqProduto = .Find(CodProduto, LookAt:=xlWhole) If Not pesqProduto Is Nothing Then .Cells(pesqProduto.Row, "E") = precoProd MsgBox "Preço do produto " & CodProduto & " atualizado com sucesso!", vbInformation, _ "Atualização de preço" Else MsgBox "Produto : " & UCase(CodProduto) & " não localizado!", vbExclamation, "Erro" Exit Sub End If Set pesqProduto = Nothing End With End With End Sub
E no evento do botão contido no UserForm :
Private Sub CommandButton1_Click() If Not IsEmpty(TextBox1) Then If Not IsEmpty(TextBox2) And IsNumeric(TextBox2) Then Call atualizaPreco(TextBox1, CDbl(TextBox2)) Else MsgBox "Favor informe o preço do produto!", vbExclamation, "PREÇO" End If Else MsgBox "Favor informe o código do produto!", vbExclamation, "CÓDIGO" End If End Sub
Favor, teste e retorne.
Espero ter ajudado.
Abs.
Saulo Robles
Bom dia.
Ajustei o código conforme a minha necessidade e deu certo.
Muito Obrigado!!!
Abs.