NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
FILTRO DE TUTORIAIS:
Objetivo:
O objetivo deste tutorial é de codificar os formularios menú, cadastro e venda, também iremos fazer uma ligação dos combos de alguns formulários que faltam com as tabelas respectivas, sempre utilizando uma forma direta e objetiva.
Pré-requisito:
Para você poder acompanhar o desenvolvimento deste tutorial, será necessário ter conhecimento no mínimo do “Curso Básico de Excel e os Tutoriais Utilizando Editor do Visual Basic do Excel Parte 1 e Parte2 e Parte1,Parte 2 Parte3, Parte4, Parte5, Parte6, Parte7, Parte8, Parte9, Parte10 e Parte 12.
Vamos começar pelo formulário menu, neste você deve inserir os codigos da seguinte maneira:
Dentro da janela de código do formulário, para ativa-la de um duplo clique na mesma, no evento initialize.
Label2 = Date
Tela 001
Para os botões abaixo, você deve inserir o codigo dentro do evento clic, irei mostrar apenas o primeiro na tela:
Para o Botão Vendas:
Vendas.Show
Para o Botão Cadastros:
Cadastro.Show
Para o Botão Fechar:
Me.hide
Tela 002
Agora iremos codificar o formulário cadastro, os codigos devem ser inseridos dentro da propriedade clic.
Dentro do option_cidades:
Cadastro_cidades.Show
Dentro do option_clientes:
Cadastro_cliente.Show
Dentro do option_entregadores:
Cadastro_entregadores.Show
Dentro do option_produtos:
Cadastro_produtos.Show
Dentro do botão fechar:
Me.hide
Agora iremos codificar o formulário de vendas, o primeiro vai ser o botão cadastro,o codigo vai ser inserido dentro da propriedade clic, quando você estiver na tela de venda e for necessário cadastro um cliente poderá clicar neste botão para abrir o formulário para cadastro de clientes.
Botão Cadastro:
Cadastro_cliente.Show
Botão Cadastrar dentro do evento clic:
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase("C:\Documents and Settings\infohelp\Meus documentos\APLICATIVO\Controle Venda\vendas.xls", False, False, "excel 8.0")
Set rs = bd.OpenRecordset("Plan6$", dbOpenDynaset)
If Me.COD_VENDA > Me.REGISTRO Then
If Me.COD_VENDA = "" Then
Me.COD_VENDA.Text = "-"
End If
If Me.COD_CLIENTE.Text = "" Then
Me.COD_CLIENTE.Text = "-"
End If
If Me.Text_nome = "" Then
Me.Text_nome.Text = "-"
End If
If Me.Text_endereco = "" Then
Me.Text_endereco.Text = "-"
End If
If Me.Combo_ENTREGADOR = "" Then
Me.Combo_ENTREGADOR.Text = "-"
End If
If Me.TEXT_QTD = "" Then
Me.TEXT_QTD.Text = "-"
End If
If Me.TEXT_QTD2 = "" Then
Me.TEXT_QTD2.Text = "-"
End If
If Me.TEXT_QTD3 = "" Then
Me.TEXT_QTD3 = "-"
End If
If Me.TEXT_DESCRICAO = "" Then
Me.TEXT_DESCRICAO.Text = "-"
End If
If Me.TEXT_DESCRICAO2 = "" Then
Me.TEXT_DESCRICAO2.Text = "-"
End If
If Me.TEXT_DESCRICAO3 = "" Then
Me.TEXT_DESCRICAO3.Text = "-"
End If
If Me.TEXT_VALOR_UNIT = "" Then
Me.TEXT_VALOR_UNIT.Text = "-"
End If
If Me.TEXT_VALOR_UNIT2 = "" Then
Me.TEXT_VALOR_UNIT2.Text = "-"
End If
If Me.TEXT_VALOR_UNIT3 = "" Then
Me.TEXT_VALOR_UNIT3.Text = "-"
End If
If Me.TEXT_TOTAL = "" Then
Me.TEXT_TOTAL.Text = "-"
End If
If Me.TEXT_TOTAL2 = "" Then
Me.TEXT_TOTAL2.Text = "-"
End If
If Me.TEXT_TOTAL3 = "" Then
Me.TEXT_TOTAL3.Text = "-"
End If
If Me.COMBO_PAGAMENTO = "" Then
Me.COMBO_PAGAMENTO.Text = "-"
End If
If Me.TEXT_TOTAL_VENDA = "" Then
Me.TEXT_TOTAL_VENDA.Text = "-"
End If
Dim Cadastro(1 To 20)
Cadastro(1) = UCase(Me.COD_VENDA)
Cadastro(2) = UCase(Me.COD_CLIENTE)
Cadastro(3) = UCase(Me.Text_nome)
Cadastro(4) = UCase(Me.Text_endereco)
Cadastro(5) = UCase(Me.Combo_ENTREGADOR)
Cadastro(6) = UCase(Me.TEXT_QTD)
Cadastro(7) = UCase(Me.TEXT_DESCRICAO)
Cadastro(8) = UCase(Me.TEXT_VALOR_UNIT)
Cadastro(9) = UCase(Me.TEXT_TOTAL)
Cadastro(10) = UCase(Me.TEXT_QTD2)
Cadastro(11) = UCase(Me.TEXT_DESCRICAO2)
Cadastro(12) = UCase(Me.TEXT_VALOR_UNIT2)
Cadastro(13) = UCase(Me.TEXT_TOTAL2)
Cadastro(14) = UCase(Me.TEXT_QTD3)
Cadastro(15) = UCase(Me.TEXT_DESCRICAO3)
Cadastro(16) = UCase(Me.TEXT_VALOR_UNIT3)
Cadastro(17) = UCase(Me.TEXT_TOTAL3)
Cadastro(18) = UCase(Me.COMBO_PAGAMENTO)
Cadastro(19) = UCase(Me.TEXT_TOTAL_VENDA)
Cadastro(20) = UCase(Me.COD_VENDA.Value)
Dim VENDA As Object
Dim L, I
Set VENDA = Plan6.Cells(1, 1).CurrentRegion
L = VENDA.Rows.Count + 1
If Len(Me.REGISTRO) = 0 Then
MsgBox "VOCÊ NÃO DIGITOU NENHUM NOME PARA INCLUSÃO", vbCritical, "CADASTRO DE VENDAS"
Else
For I = 1 To 20
Plan6.Cells(L, I).Value = Trim(Cadastro(I))
Next I
MsgBox "CADASTRADO", vbInformation, "EFETUADO COM SUCESSO"
ThisWorkbook.Save
End If
Exit Sub
Else
MsgBox "No campo CODIGO digite um número maior do que há no campo QTD para casdastrar."
End If
Tela 003
Dentro do botão pesquisar:
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase("C:\Documents and Settings\infohelp\Meus documentos\APLICATIVO\Controle Venda\vendas.xls", False, False, "excel 8.0")
Set rs = bd.OpenRecordset("Plan6$", dbOpenDynaset)
rs.FindFirst "NOME LIKE'" & Me.Text_nome & "'"
If rs.NoMatch = True Then MsgBox "Nome não cadastrado", vbInformation, "Banco de dados": Exit Sub
Me.COD_VENDA = rs.Fields("CODVENDA")
Me.COD_CLIENTE = rs.Fields("CODCLIENTE")
Me.Text_nome = rs.Fields("NOME")
Me.Text_endereco = rs.Fields("ENDERECO")
Me.Combo_ENTREGADOR = rs.Fields("ENTREGADOR")
Me.TEXT_QTD = rs.Fields("QTD")
Me.TEXT_DESCRICAO = rs.Fields("DESCRICAO")
Me.TEXT_VALOR_UNIT = rs.Fields("VRUNIT")
Me.TEXT_TOTAL = rs.Fields("VRTOTAL")
Me.TEXT_QTD2 = rs.Fields("QTD2")
Me.TEXT_DESCRICAO2 = rs.Fields("DESCRICAO2")
Me.TEXT_VALOR_UNIT2 = rs.Fields("VRUNIT2")
Me.TEXT_TOTAL2 = rs.Fields("VRTOTAL2")
Me.TEXT_QTD3 = rs.Fields("QTD3")
Me.TEXT_DESCRICAO3 = rs.Fields("DESCRICAO3")
Me.TEXT_VALOR_UNIT3 = rs.Fields("VRUNIT3")
Me.TEXT_TOTAL3 = rs.Fields("VRTOTAL3")
Me.COMBO_PAGAMENTO = rs.Fields("PAGAMENTO")
Me.TEXT_TOTAL_VENDA = rs.Fields("TOTAL")
Dentro do Botão Editar:
Dim Cadastro(1 To 20)
Cadastro(1) = UCase(Me.COD_VENDA)
Cadastro(2) = UCase(Me.COD_CLIENTE)
Cadastro(3) = UCase(Me.Text_nome)
Cadastro(4) = UCase(Me.Text_endereco)
Cadastro(5) = UCase(Me.Combo_ENTREGADOR)
Cadastro(6) = UCase(Me.TEXT_QTD)
Cadastro(7) = UCase(Me.TEXT_DESCRICAO)
Cadastro(8) = UCase(Me.TEXT_VALOR_UNIT)
Cadastro(9) = UCase(Me.TEXT_TOTAL)
Cadastro(10) = UCase(Me.TEXT_QTD2)
Cadastro(11) = UCase(Me.TEXT_DESCRICAO2)
Cadastro(12) = UCase(Me.TEXT_VALOR_UNIT2)
Cadastro(13) = UCase(Me.TEXT_TOTAL2)
Cadastro(14) = UCase(Me.TEXT_QTD3)
Cadastro(15) = UCase(Me.TEXT_DESCRICAO3)
Cadastro(16) = UCase(Me.TEXT_VALOR_UNIT3)
Cadastro(17) = UCase(Me.TEXT_TOTAL3)
Cadastro(18) = UCase(Me.COMBO_PAGAMENTO)
Cadastro(19) = UCase(Me.TEXT_TOTAL_VENDA)
Cadastro(20) = UCase(Me.COD_VENDA.Value)
For I = 1 To 20
Plan6.Cells(Val(Me.COD_VENDA.Value) + 1, I).Value = Trim(Cadastro(I))
Next I
MsgBox "ALTERAÇÃO EFETUADA", vbInformation, "CADASTRO DE VENDAS"
ThisWorkbook.Save
Dentro do botão apagar:
Dim VENDA
VENDA = MsgBox("DESEJA REALMENTE EXCLUIR O REGISTRO", vbYesNo + vbQuestion, "CADASTRO DE VENDAS")
If VENDA = vbYes Then
Plan6.Cells(Val(Me.COD_VENDA) + 1, 1).EntireRow.Delete
ThisWorkbook.Save
End If
Dentro do botão fechar:
Me.COD_VENDA.Text = ""
Me.COD_CLIENTE.Text = ""
Me.Text_nome.Text = ""
Me.Text_endereco.Text = ""
Me.Combo_ENTREGADOR.Text = ""
Me.TEXT_QTD.Text = ""
Me.TEXT_QTD2 = ""
Me.TEXT_QTD3 = ""
Me.TEXT_DESCRICAO.Text = ""
Me.TEXT_DESCRICAO2.Text = ""
Me.TEXT_DESCRICAO3.Text = ""
Me.TEXT_VALOR_UNIT.Text = ""
Me.TEXT_VALOR_UNIT2.Text = ""
Me.TEXT_VALOR_UNIT3.Text = ""
Me.TEXT_TOTAL.Text = ""
Me.TEXT_TOTAL2.Text = ""
Me.TEXT_TOTAL3.Text = ""
Me.COMBO_PAGAMENTO.Text = ""
Me.TEXT_TOTAL_VENDA.Text = ""
Me.Hide
Codificado o aplicativo antes, de testa-lo você deve ativar a biblioteca Microsoft Dao, para isso na janela do editor de visual basic do excel, clique no menu ferramentas, referências e ative a mesma.
Tela 004
Agora iremos interligar alguns combos dos formulários cliente, entregadores e produtos com as tabelas da seguinte maneira:
No formulário cadastro clientes, precisamos inteligar o combobox_cidade com a coluna “b” da planilha 5, para isso, você deve digitar na propriedade RouSource o seguinte: PLAN5!b2:b200, seguinifica que este combo vai mostrar até 200 nomes de cidades, se você quiser aumentar o numero de nomes a mostrar aumente este último numero.
Tela 005
Agora você deve fazer o mesmo procedimento para interligar o combox e list box do formulario Cadastro_entregadores:
Combox_cidade: inserir PLAN5!b2:b30 na propriedade rowsource
Listbox_estado: PLAN5!C2:C30
E por último o formulário Cadastro_produtos, este vamos interligar o cambo_fornecedor, para isso digite na propriedade rowsource:
PLAN3!B2:B300
Neste tutorial ensinei você a codificar os formulários, ativar a biblioteca microsoft dao, tambem fazer a interligação de alguns combos e listbox com o campos determinados do banco de dados. Tudo de forma objetiva e direta, espero que este aplicativo seja útil para sua utilização e aprendizado, a partir deste você pode adapta-lo para sua necessidade inserindo ou retirando mais objetos, até o próximo aplicativo.
Bons estudos e até a próxima parte.
Confira todas as partes deste tutorial:
CURSO PROFISSIONALIZANTE DE INFORMÁTICA |
São 68 Cursos -
3440 Vídeo Aulas - 396:07 horas |
Domine Todos os Recursos de Informática Exigidos pelo Mercado de Trabalho, Através de Exemplos Práticos, Completos e Úteis, Detalhadamente Explicados - Passo a Passo |
Para Todos os Detalhes, Acesse:
https://juliobattisti.com.br/informatica-curso-completo-1v.asp |
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2024 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI