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 é desenvolver o restante do sistema agendaconsulta, iremos desenvolver o banco de dados para armazenar osregistros, além de codificar o formulário agenda além de criar mais umainterface principal que vai servir como menú de acesso. Tudo de forma simples edireta, através de telas.
Pré-requisito:
Para você poder acompanhar odesenvolvimento deste tutorial, será necessário ter conhecimento no mínimo do “CursoBásico de Excel e os Tutoriais Utilizando Editor do Visual Basic do Excel Parte1 e Parte2” Parte 1, Parte 2, Parte3, Parte 4 e Parte 5 deste tutorial.
Iniciaremos pelo banco de dados, utilizaremos a plan4, modifique o nome da mesma para “AGENDA”, depois iremosinserir os seguintes campos:
COD, HORA, PACIENTE, TELEFONE,MEDICO,AREA.
Tela 001
Inserira na primeira linha cor cinza e coloque negrito.
Tela 002
Faça a formatação dos campos da seguinte maneira:
COD colocarna categoria “número”.
Tela 003
Para o restante da formataçãodos campos é quase igual, por isso irei apenas informar a formatação dos demaiscampo.
PACIENTE, MEDICO e AREA inserir na categoria “texto”.
TELEFONE para categoria “ Especial,Telefone”.
HORA para categoria “hora, Horae Minutos”.
Concluido o desenvolvimento do banco de dados, iremoscodificar o formulário “agenda”.Insira ocódigo abaixo dentro formulário, no evento initialize.
Me.N =Application.WorksheetFunction.CountA(Plan4.Columns(1)) – 1
Tela 004
Codificaremos agora os botões, inserido o codigo abaixodentro do evento clic.
BotãoCadastrar:
Dim bd As Database
Dim Rs As Recordset
Set bd =OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name,False, False, "excel 8.0")
Set Rs =bd.OpenRecordset("AGENDA$", dbOpenDynaset)
If Me.Text_cod > Me.NThen
If Me.TextBox_hora ="" Then
Me.TextBox_hora.Text ="-"
End If
IfMe.ComboBox_paciente.Text = "" Then
Me.ComboBox_paciente.Text ="-"
End If
If Me.ComboBox_medico.Text= "" Then
Me.ComboBox_medico.Text= "-"
End If
If Me.TextBox_telefone.Text= "" Then
Me.TextBox_telefone.Text = "-"
End If
If Me.TextBox_area.Text ="" Then
Me.TextBox_area.Text ="-"
End If
Dim CADASTRO(1 To 7)
CADASTRO(1) = UCase(Me.Text_cod)
CADASTRO(2) = UCase(Me.TextBox_hora)
CADASTRO(3) = UCase(Me.ComboBox_paciente)
CADASTRO(4) = UCase(Me.TextBox_telefone)
CADASTRO(5) = UCase(Me.ComboBox_medico)
CADASTRO(6) = UCase(Me.TextBox_area)
CADASTRO(7) = UCase(Me.Text_cod.Value)
Dim Consulta As Object
Dim L, i
Set Consulta = Plan4.Cells(1, 1).CurrentRegion
L = Consulta.Rows.Count + 1
If Len(Me.Text_cod) = 0Then
MsgBox"VOCÊ NÃO DIGITOU NENHUM NOME PARA INCLUSÃO", vbCritical,"CADASTRO DE CIDADES E ESTADOS"
Else
For i = 1 To 7
Plan4.Cells(L,i).Value = Trim(CADASTRO(i))
Next i
Me.Text_cod.Text =""
Me.TextBox_hora.Text = ""
Me.ComboBox_paciente.Text = ""
Me.ComboBox_medico.Text= ""
Me.TextBox_telefone.Text = ""
Me.TextBox_area.Text = ""
MsgBox "CADASTRO", vbInformation, "EFETUADO COMSUCESSO"
ThisWorkbook.Save
End If
Exit Sub
Else
MsgBox"No campo CODIGO digite um número maior do que há no campo registro nobanco para casdastrar."
End If
Tela 005
BotãoPesquisar:
Dim bd As Database
Dim Rs As Recordset
Dim LIN
Set bd =OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name,False, False, "excel 8.0")
Set Rs =bd.OpenRecordset("AGENDA$", dbOpenDynaset)
LIN = 2
Do Until Rs.EOF
If Rs("PACIENTE")= Me.ComboBox_paciente.Text Then
Me.Text_cod =Rs.Fields("COD")
Me.TextBox_hora = Rs.Fields("HORA")
Me.TextBox_telefone = Rs.Fields("TELEFONE")
Me.ComboBox_medico = Rs.Fields("MEDICO")
Me.TextBox_area =Rs.Fields("AREA")
Me.TextBox_codf.Text = LIN
End If
LIN = LIN + 1
Rs.MoveNext
Loop
Botão Editar:
Dim bd As Database
Dim Rs As Recordset
Set bd =OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name,False, False, "excel 8.0")
Set Rs =bd.OpenRecordset("PACIENTE$", dbOpenDynaset)
Rs.Edit
Rs("HORA") = Format(Me.TextBox_hora,"HH:MM")
Rs("PACIENTE") = Me.ComboBox_paciente
Rs("TELEFONE") = Me.TextBox_telefone
Rs("MEDICO") = Me.ComboBox_medico
Rs("AREA") = Me.TextBox_area
Rs.Update
MsgBox"DADO ALTERADOS COM SUCESSO", vbInformation, "BANCO DEDADOS"
ThisWorkbook.Save
Botão Apagar:
Dim Consulta
Consulta =MsgBox("DESEJA REALMENTE EXCLUIR OS DADOS?", vbYesNo + vbQuestion,"BANCO DE DADOS")
If Consulta = vbYes Then
Plan4.Cells(Me.TextBox_codf,1).EntireRow.Delete
Me.Text_cod.Text =""
Me.TextBox_hora.Text =""
Me.ComboBox_paciente.Text =""
Me.ComboBox_medico.Text = ""
Me.TextBox_telefone.Text = ""
Me.TextBox_area.Text = ""
MsgBox"DADOS EXCLUÍDO COM SUCESSO."
ThisWorkbook.Save
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:
Botão Voltar:
Me.hide
Concluído a codificação do formulário agenda, vamos criaruma interface simples que ira funcionar como menú de acesso, abaixo a definiçãodos objetos a serem utilizados.
01 Formulário
01 Label
01 Frame
04 Botões
Vamos definir as propriedades para os mesmos, da seguintemaneira:
Formulário:
Name para Principal
Caption para Agenda Consulta Medica
Height para 175
Width para 340
Label:
Label01
Caption para Agendamento de Consultas
Height para 18
Widht para 258
Botões:
Botão Agendar Consulta
Name para Command_agenda
Caption para Agendar Consulta
Height para 24
Width para 78
Botão Cadastro Médicos
Name para Command_medico
Caption para Cadastro Medicos
Height para 24
Width para 78
Botão Cadastro Pacientes
Name para Command_pacientes
Caption para Cadastro Pacientes
Height para 24
Width para 78
Botão Fechar
Name para Command_fechar
Caption para Fechar
Height para 24
Width para 78
Controle Frame01 (Moldura)
Caption deve ser apagado
Height para 42
Width para 300
Ajuste os objetos para que sua interface tenha aparênciaconforme a tela abaixo:
Tela 006
Insira os seguintes códigos no botões:
Botão Agenda Consulta:
Agenda.Show
Botão Cadastro Médicos
Medicos.Show
Botão Cadastro Pacientes
Paciente.Show
Botão Fechar
Me.Hide
Neste tutorial ensinei a desenvolver o banco de dados, definindo as formatações necessárias paracada campo. Codificamos também oformulário “agenda”, além de criar um simples interface que vai servir como umsimples menú , tudo de forma simples, eobjetiva mostrando através de telas paramelhor entendimento. No próximo tutorialdaremos inicio a um novo sistema. Bons estudos.
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-2025 ®
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