Blog

Postado em em 22 de janeiro de 2021

Excluir Transação no VBA Dentro do Formulário

Excluir Transação no VBA

Nesta aula vamos te ensinar como excluir uma transação no VBA dentro de um formulário, ou seja, vamos te ensinar o código que faz essa operação!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Para receber a planilha que usamos na aula no seu e-mail, preencha:

Essa é a décima sétima aula da nossa série de Controle de Estoque Completo no VBA, onde estaremos aprendendo a lidar com os eventos no formulário de controle de estoque, o principal.

Nela vamos trabalhar com diferentes eventos no VBA. Mais especificamente, vamos utilizá-los para a excluir uma transação do nosso estoque com o comando Delete VBA.

Vamos:

  • Vamos aprender o código e os passos necessários para excluir as informações de uma transação do nosso formulário.

Como usar o Comando Delete VBA para Excluir Transações do Estoque?

O que queremos fazer é: excluir uma informação presente na caixa de listagem de transações, que fica à direita do nosso formulário de estoque. Usaremos códigos em VBA associados com o Excel para atingir esse objetivo, tendo que:

  • Abrir o VBA, com Alt(+Fn)+F11
  • Procurar pelo FormularioControleEstoque
  • Duplo clique nele (com botão esquerdo do mouse) (em 1)
  • Duplo clique no botão de “Excluir” (em 2)
  • Inserir o código em seguida como uma nova Sub, que representará o clique do nosso botão
Controle De Estoque Excel
Controle De Estoque Excel
Private Sub CommandButton4_Click()

If caixa_id.Value = "" Then
   MsgBox ("Favor dar um duplo clique na transação a ser excluída")
   Exit Sub
End If


linha = Sheets("Compras_e_Vendas").Range("A:A").Find(caixa_id.Value).Row
Sheets("Compras_e_Vendas").Range(linha & ":" & linha).Delete

caixa_produto.Value = ""
caixa_quantidade.Value = ""
caixa_tipo.Value = ""
caixa_valor.Value = ""
caixa_data.Value = Format(Date, "dd/mm/yyyy")
caixa_id.Value = ""

Call atualiza_caixa_listagem_transacoes
Call atualiza_caixa_listagem_estoque

MsgBox ("Transação excluída com sucesso")

End Sub

Explicação do código acima:

Vamos, ao dar um clique no botão de excluir do nosso formulário:

  • Verificar se a caixa_id está vazia. Ou seja, se o usuário não der duplo clique em algum produto da caixa de listagem de transações (selecioná-lo), a caixa_id estará vazia, e não teremos o que excluir. Caso isso ocorra, exibiremos a mensagem para o usuário “Favor dar um duplo clique na transação a ser excluída” encerraremos nossa sub, porque não iremos excluir nada, pois precisa de algo selecionado para excluí-lo
  • Caso tenhamos um produto a ser excluído, ou seja, algum produto selecionado pelo usuário, encontraremos o último ID (transação) na planilha utilizando o Find VBA, e armazenaremos essa informação na variável linha, que irá guardar a linha em que aquele ID se encontra, na coluna A da aba Compras_e_Vendas
  • Após saber em que linha se encontra esse ID desejado, iremos excluí-la, excluindo então a transação com o Delete VBA
  • Após excluir a transação desejada, precisaremos zerar as caixas de texto de produto, quantidade, tipo, valor e id, e colocar na caixa de data a data de hoje, com o Format VBA
  • Após excluir, chamar as macros para atualizar a caixa de listagem de transações e de estoques, para atualizar as quantidades de produtos no estoque e de transações feitas pela nossa empresa
  • Ao final, exibir uma caixa de mensagem avisando que tudo deu certo, utilizando o MsgBox VBA.
  • E termina a nossa sub.

OBS: Ao excluir uma transação, o ID fica de resquício na caixa de ID. Com isso, pode-se confundir e tentar excluir uma transação que não existe, podendo dar erro no código, por exemplo.

Para corrigir isso, precisaremos zerar a caixa de id assim que qualquer mudança for feita nas outras caixas. Para isso, iremos incluir a linha de código “ caixa_id.Value = “” ” ao dar duplo clique em cada caixa do nosso formulário. Então, colocaremos essa linha de códigos na seguintes subs:

  • Private Sub caixa_produto_Change()
  • Private Sub caixa_quantidade_Change()
  • Private Sub caixa_tipo_Change()
  • Private Sub caixa_valor_Change()
  • Private Sub caixa_data_Change()

Conclusão

Nessa aula, você aprendeu os passos e o código necessário para excluir uma transação em nosso formulário, após selecioná-la em nossa caixa de listagem e clicar no botão “Excluir”.

Essa parte é importante porque por algum motivo ou equívoco, você queira excluir uma transação do seu estoque de compra ou venda, para que as quantidades de produtos sejam atualizadas corretamente.

Até a próxima aula da série! Fique ligado no nosso canal do Youtube para mais conteúdo de Excel e VBA! Um abraço!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um Minicurso Gratuito?


As inscrições para o Programa Completo Power BI Impressionador estão abertas!

Para saber mais informações sobre o Programa, clique no botão abaixo!