Conheça a “Formação Excel VBA com Edivam Cabral”: https://edivamcabral.com.br/bundle_details/10
Dando continuidade ao nosso projeto de criar um formulário funcional no Excel com VBA, nesta segunda parte iremos adicionar novos recursos que tornam o sistema mais robusto e profissional. Abordaremos a inclusão de um campo para código de barras, a validação de duplicidade para descrição e código de barras, bem como ajustes na proteção da planilha e na navegação dos dados.
O que será abordado
- 🔢 Criação do campo para código de barras.
- ⚠️ Validação de duplicidade no cadastro.
- 🔒 Proteção de células e estrutura da planilha.
- ➡️ Melhorias na navegação e integração dos dados.
1. Adicionando o Campo Código de Barras
Para inserir um campo de código de barras no formulário, siga os passos:
- ➕ Inclua uma nova linha no formulário: Na planilha de entrada, insira uma linha e renomeie o campo como “Código de Barras”.
- 🌐 Nomeie a célula: Selecione a célula correspondente ao código de barras e, na caixa de nomes, defina como
COD_BARRAS
. - 📋 Formate a coluna na base de dados: Certifique-se de que a coluna correspondente na base de dados esteja formatada como texto. Isso é importante para preservar caracteres como zeros à esquerda.
2. Validando a Duplicidade no Cadastro
⚠️ Evitar registros duplicados é essencial para a integridade dos dados. Criamos uma função específica para essa tarefa:
🔧 Função VerificarDuplicidade
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Private Function VerificarDuplicidade() As Boolean VerificarDuplicidade = False Dim Cel As Range, Nome As String ' Verificar duplicidade de descrição Nome = PlanForm.Range("descricao").Value Set Cel = PlanBase.Range("B:B").Find(Nome, lookat:=xlWhole) If Not Cel Is Nothing Then If PlanBase.Range("A" & Cel.Row).Value <> PlanForm.Range("id_prod").Value Then MsgBox "Produto Já Cadastrado", vbCritical, "VBA com Edivam Cabral" VerificarDuplicidade = True End If End If ' Verificar duplicidade de código de barras Nome = PlanForm.Range("COD_BARRAS").Value Set Cel = PlanBase.Range("G:G").Find(Nome, lookat:=xlWhole) If Not Cel Is Nothing Then If PlanBase.Range("A" & Cel.Row).Value <> PlanForm.Range("id_prod").Value Then MsgBox "Código de Barras Já Cadastrado", vbCritical, "VBA com Edivam Cabral" VerificarDuplicidade = True End If End If Set Cel = Nothing End Function |
Esta função verifica, tanto na descrição quanto no código de barras, se já existe um registro com as mesmas informações e impede o cadastro caso a duplicidade seja detectada.
3. Proteção de Células e Estrutura da Planilha
Para proteger a planilha contra edições indevidas:
- 🔑 Selecione apenas as células editáveis: Marque as células como desbloqueadas (menu “Formatar Células” > Aba “Proteção”).
- 🔒 Proteja a planilha: Acesse o menu “Revisão” > “Proteger Planilha”, defina uma senha e habilite apenas a seleção de células desbloqueadas.
- ⚖️ Permita operações pelo VBA: Adicione o comando abaixo ao evento
Workbook_Open
:
1 |
PlanForm.Protect Password:="123", UserInterfaceOnly:=True |
Isso protege a planilha para edições manuais, mas permite que o código VBA altere os valores.
4. Melhorias na Navegação
Para ajustar a navegação, integramos o campo de código de barras ao método de paginação e de limpeza dos dados. Atualize as funções correspondentes:
🌬️ Função Limpar
1 2 3 4 5 |
Sub ProdutoLimpar() PlanForm.Range("descricao").Value = "" PlanForm.Range("COD_BARRAS").Value = "" ' Demais campos a serem limpos End Sub |
🔄 Função Paginar
1 2 3 4 5 |
Sub ProdutoPaginar(LinhaAtual As Long) PlanForm.Range("descricao").Value = PlanBase.Cells(LinhaAtual, 2).Value PlanForm.Range("COD_BARRAS").Value = PlanBase.Cells(LinhaAtual, 7).Value ' Demais campos End Sub |
Conclusão
Nesta segunda parte, aprimoramos nosso formulário com recursos que garantem a integridade dos dados, melhoram a experiência do usuário e tornam o sistema mais seguro. Esses conceitos podem ser facilmente adaptados para outros tipos de sistemas em Excel.
Na próxima aula, exploraremos a criação de funcionalidades para exclusão de registros e avançaremos na montagem de um PDV simplificado. Não perca!
0 Comentários