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

Você está em: PrincipalArtigosCriando Aplicativos VBA com Excel : Controleservicos008
Quer receber novidades e e-books gratuitos?

Sistema de Controle para Prestadores de Serviço - Codificação dos Dados de Serviços - Parte 8

 

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.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 001

 

Agora iremos formatar estes campos, primeiro insira em toda a linha dos nomes dos campos cor cinza e negrito.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 002

 

As próximas formatações serão as seguintes:

 

O campo: Cod este deve ficar a propriedade na sua categoria  “geral”.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 003

 

Os Campos: Nome, Empresa, Tservico, Descrição,  formatados na categoria texto, assim como os demais campos iguais:

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 004

 

Os Campo: Valor e Total na categoria Moeda.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

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.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

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

 


você conhece a universidade do vba?

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!

Tudo Para Você Aprender, na Prática, VBA no Excel!

Para todos os detalhes, acesse:

https://juliobattisti.com.br/curso-vba-excel/


Criando Aplicativos VBA no Excel - Júlio Battisti

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

 

Criando Aplicativos VBA no Excel - Júlio Battisti

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.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 009

 

Dentro do formulário na propriedade initialize os seguinte código:

 

Label2 = Format(Date," dd / mm / yyyy")

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 010

 

Conclusão:

 

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.

 


livros e cursos sugeridos sobre excel e vba:
Quer receber novidades e e-books gratuitos?

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-2021 ®

[LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI