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
Objetivo:
O objetivo deste tutorial é dar continuidade do desenvolvimento do sistema controle de prestadores de serviços, neste tutorial iremos criar o banco de dados e codificar o formulário serviços prestados a empresa.
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 Parte 1, Parte 2, Parte 3, Parte 4, Parte 5, Parte 6 e Parte 7 deste tutorial.
Para criar o banco de dados vamos utilizar a planilha 4,insira na mesma os seguintes campos abaixo:
Cod, Nome, Empresa, Tservico, Descrição, Valor, Tservico2, Descricao2, Valor2, Tservico3, Descricao3, Valor3, Tservico4, Descricao4, Valor4, Total.
Tela 001
Agora iremos formatar estes campos, primeiro insira em toda a linha dos nomes dos campos cor cinza e negrito.
Tela 002
As próximas formatações serão as seguintes:
O campo: Cod este deve ficar a propriedade na sua categoria “geral”.
Tela 003
Os Campos: Nome, Empresa, Tservico, Descrição, formatados na categoria texto, assim como os demais campos iguais:
Tela 004
Os Campo: Valor e Total na categoria Moeda.
Tela 005
Antes de começarmos a codificar o formulário, iremos acrescentar mais um textbox, para o mesmo vamos colocar o nome na propriedade name para Text_cod.
Tela 006
Agora iremos começar a codificar o aplicativo, este codigo abaixo você deve inserir dentro do botão cadastrar no seu evento clic.
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase("C:\Documents and Settings\infohelp\Meus documentos\APLICATIVO\Prestadores\Prestadores.xls", False, False, "excel 8.0")
Set rs = bd.OpenRecordset("Plan4$", dbOpenDynaset)
If Me.Text_cod >Me.Label10 Then
If Me.ComboBox_nome = "" Then
Me.ComboBox_nome.Text = "-"
End If
If Me.ComboBox_empresa = "" Then
Me.ComboBox_empresa.Text = "-"
End If
If Me.ComboBox_tiposervico = "" Then
Me.ComboBox_tiposervico.Text ="-"
End If
If Me.ComboBox_tiposervico2 = "" Then
Me.ComboBox_tiposervico2.Text ="-"
End If
If Me.ComboBox_tiposervico3 = "" Then
Me.ComboBox_tiposervico3.Text ="-"
End If
If Me.ComboBox_tiposervico4 = "" Then
Me.ComboBox_tiposervico4.Text = "-"
End If
If Me.TextBox_descricao = "" Then
Me.TextBox_descricao.Text = "-"
End If
If Me.TextBox_descricao2 = "" Then
Me.TextBox_descricao2.Text = "-"
End If
If Me.TextBox_descricao3 = "" Then
Me.TextBox_descricao3.Text = "-"
End If
If Me.TextBox_descricao4 = "" Then
Me.TextBox_descricao4.Text = "-"
End If
If Me.TextBox_valor = "" Then
Me.TextBox_valor.Text = "-"
End If
If Me.TextBox_valor2 = "" Then
Me.TextBox_valor2.Text = "-"
End If
If Me.TextBox_valor3 = "" Then
Me.TextBox_valor3.Text = "-"
End If
If Me.TextBox_valor4 = "" Then
Me.TextBox_valor4.Text = "-"
End If
If Me.TextBox_total = "" Then
Me.TextBox_total.Text = "-"
End If
Dim Cadastro(1 To 17)
Cadastro(1) = UCase(Me.Text_cod)
Cadastro(2) = UCase(Me.ComboBox_nome)
Cadastro(3) = LCase(Me.ComboBox_empresa)
Cadastro(4) = LCase(Me.ComboBox_tiposervico)
Cadastro(5) = LCase(Me.TextBox_descricao)
Cadastro(6) = LCase(Me.TextBox_valor)
Cadastro(7) = LCase(Me.ComboBox_tiposervico2)
Cadastro(8) = LCase(Me.TextBox_descricao2)
Cadastro(9) = LCase(Me.TextBox_valor2)
Cadastro(10) = LCase(Me.ComboBox_tiposervico3)
Cadastro(11) = LCase(Me.TextBox_descricao3)
Cadastro(12) = LCase(Me.TextBox_valor3)
Cadastro(13) = LCase(Me.ComboBox_tiposervico4)
Cadastro(14) = LCase(Me.TextBox_descricao4)
Cadastro(15) = LCase(Me.TextBox_valor4)
Cadastro(16) = LCase(Me.TextBox_total)
Cadastro(17) = UCase(Me.Text_cod.Value)
Dim EMPRESA As Object
Dim L, I
Set EMPRESA = Plan4.Cells(1, 1).CurrentRegion
L = EMPRESA.Rows.Count + 1
If Len(Me.Text_cod) = 0 Then
MsgBox "VOCÊ NÃO DIGITOU NENHUM NOME PARA INCLUSÃO", vbCritical, "CADASTRO EMPRESA"
Else
For I = 1 To 17
Plan4.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
Universidade do VBA - Curso Completo, com Certificado e com Atualizações Semanais
Domine, sem Dificuldades, a Programação VBA no Excel, Através da Criação de Sistemas Profissionais Completos - Com Exemplos Práticos e Explicações Detalhadas - Passo a Passo - Tela a Tela - Comando a Comando!
Aplica-se ao Excel 2019, 2016, 2013 e 2010!
Para todos os detalhes, acesse:
Tela 007
Agora iremos para o botão pesquisar, o código também vai ser inserido dentro do evento clic, não irei mostar o código dentro da janela de código por não haver a necessidade, pois é dentro do mesmo evento que mostrei na tela acima.
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase("C:\Documents and Settings\infohelp\Meus documentos\APLICATIVO\Prestadores\Prestadores.xls", False, False, "excel 8.0")
Set rs = bd.OpenRecordset("Plan4$", dbOpenDynaset)
rs.FindFirst "NOME LIKE'" & Me.ComboBox_nome & "'"
If rs.NoMatch = True Then MsgBox "Nome não cadastrado", vbInformation, "Banco de dados": Exit Sub
Me.Text_cod = rs.Fields("COD")
Me.ComboBox_nome = rs.Fields("NOME")
Me.ComboBox_empresa = rs.Fields("EMPRESA")
Me.ComboBox_tiposervico = rs.Fields("TSERVICO")
Me.TextBox_descricao = rs.Fields("DESCRICAO")
Me.TextBox_valor = rs.Fields("VALOR")
Me.ComboBox_tiposervico2 = rs.Fields("TSERVICO2")
Me.TextBox_descricao2 = rs.Fields("DESCRICAO2")
Me.TextBox_valor2 = rs.Fields("VALOR2")
Me.ComboBox_tiposervico3 = rs.Fields("TSERVICO3")
Me.TextBox_descricao3 = rs.Fields("DESCRICAO3")
Me.TextBox_valor3 = rs.Fields("VALOR3")
Me.ComboBox_tiposervico4 = rs.Fields("TSERVICO4")
Me.TextBox_descricao4 = rs.Fields("DESCRICAO4")
Me.TextBox_valor4 = rs.Fields("VALOR4")
Me.TextBox_total = rs.Fields("TOTAL")
Botão Editar:
Dim Cadastro(1 To 17)
Cadastro(1) = UCase(Me.Text_cod)
Cadastro(2) = UCase(Me.ComboBox_nome)
Cadastro(3) = LCase(Me.ComboBox_empresa)
Cadastro(4) = LCase(Me.ComboBox_tiposervico)
Cadastro(5) = LCase(Me.TextBox_descricao)
Cadastro(6) = LCase(Me.TextBox_valor)
Cadastro(7) = LCase(Me.ComboBox_tiposervico2)
Cadastro(8) = LCase(Me.TextBox_descricao2)
Cadastro(9) = LCase(Me.TextBox_valor2)
Cadastro(10) = LCase(Me.ComboBox_tiposervico3)
Cadastro(11) = LCase(Me.TextBox_descricao3)
Cadastro(12) = LCase(Me.TextBox_valor3)
Cadastro(13) = LCase(Me.ComboBox_tiposervico4)
Cadastro(14) = LCase(Me.TextBox_descricao4)
Cadastro(15) = LCase(Me.TextBox_valor4)
Cadastro(16) = LCase(Me.TextBox_total)
Cadastro(17) = UCase(Me.Text_cod.Value)
For I = 1 To 17
Plan4.Cells(Val(Me.Text_cod) + 1, I).Value = Trim(Cadastro(I))
Next I
MsgBox"ALTERAÇÃO EFETUADA", vbInformation, "CADASTRO DE EMPRESAS"
ThisWorkbook.Save
Botão Apagar:
Dim prestador
prestador = MsgBox("DESEJA REALMENTE EXCLUIR O REGISTRO", vbYesNo + vbQuestion, "CADASTRO DE CLIENTES")
If prestador = vbYes Then
Plan4.Cells(Val(Me.Text_cod) + 1, 1).EntireRow.Delete
ThisWorkbook.Save
End If
Botão Fechar:
Me.hide
Agora dentro do formulário, no evento inialize insira o seguinte código:
Label10 = Application.WorksheetFunction.CountA(Plan4.Columns(1)) – 1
Tela 008
Para que o código funcione, temos que ativar a biblioteca Mirosoft Dao, para isso na janela do editor do visual basic, clique no menu ferramentas, referências e ative a bilioteca.
Tela 009
Dentro do formulário na propriedade initialize os seguinte código:
Label2 = Format(Date," dd / mm / yyyy")
Tela 010
Ensinei a criar o banco de dados, codificar o formulário serviços prestados a empresa e ativar a biblioteca Microsoft Dao, tudo de forma bem objetiva na próxima parte do tutorial daremos continuidade no desenlvovimento do sistema. Bons estudos e até a próxima parte.
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