Planilha em excel com botão macro que insere dados para agendamento de consulta como especialidades, exames, local da realização do exame, data e horário.
Objetivo • Como Usar • Autor • Licença • Versões do README
Essa planilha foi criada na época em que eu estagiava em um centro de infecctologia e senti a necessidade de facilitar algumas das minhas principais funções lá dentro: o cadastro dos agendamentos em uma planilha para que eu pudesse ter controle do que estava fazendo e ciência de todos os agendamentos que chegava até mim.
A ideia foi muito bem abraçada por meus supervisores pois todo o processo do agendamento ainda tinha muitas falhas que não só dependiam da nossa unidade e sim de todas as unidades de saúde da prefeitura da cidade.
Além disso, era um documento simples que era possível que outras pessoas com diferentes tipos de conhecimento com excel ou computadores no geral, pudessem utilizar o mesmo arquivo sem trazer nenhum problema com a formatação ou coisas escritas em lugares errados.
As especialidades, exames e local da realização foram já pré-cadastradas para uso pessoal na época em que eu fazia estágio em um centro clínico, porém é possível adicionar ou remover dados através das macros feitas.
Através de um botão visto no topo da planilha, é possível abrir esse formulário e é aqui que é possível cadastrar os agendamentos que chegava para mim no estágio.
Macros utilizadas no formulário. Textos escritos com um ' no começo da linha, são alguns comentários que fiz para me localizar.
'Identifica o tipo do objeto e insere se for um dos tipos definidos
Private Sub lsInserir(ByRef lTextBox As Variant, ByVal Plan1 As String, ByVal lColunaCodigo As Long, ByVal lUltimaLinha As Long)
If (TypeOf lTextBox Is MSForms.TextBox) Or (TypeOf lTextBox Is MSForms.ComboBox) Then
Sheets(Plan1).Range(lTextBox.Tag & lUltimaLinha).Value = lTextBox.Text
Else
If TypeOf lTextBox Is MSForms.OptionButton Then
If lTextBox.Value = True Then
Sheets(Plan1).Range(lTextBox.Tag & lUltimaLinha).Value = lTextBox.Caption
End If
End If
End If
End Sub
'Loop por todos os componentes da tela
'frmProntuario = Nome do UserForm atual
'Plan1 = Nome da planilha aonde irão ser inseridos os valores
'lColunaCodigo = Coluna de referência para a inserção dos dados
Public Function lsInserirTextBox(frmProntuario As UserForm, ByVal Plan1 As String, ByVal lColunaCodigo As Long)
Dim controle As Control
Dim lUltimaLinhaAtiva As Long
lUltimaLinhaAtiva = Worksheets(Plan1).Cells(Worksheets(Plan1).Rows.Count, lColunaCodigo).End(xlUp).Row + 1
For Each controle In frmProntuario.Controls
lsInserir controle, Plan1, lColunaCodigo, lUltimaLinhaAtiva
Next
End Function
'Limpa todos os objetos TextBox da tela
Public Function lsLimparTextBox(frmProntuario As UserForm)
Dim controle As Control
For Each controle In frmProntuario.Controls
If TypeOf controle Is MSForms.TextBox Then
controle.Text = ""
End If
Next
End Function
'Aciona o botão de limpar
Private Sub CommandButton1_Click()
lsLimparTextBox frmProntuario
TextBox1.SetFocus
End Sub
'Aciona o botão de inserir
Private Sub CommandButton2_Click()
lsInserirTextBox frmProntuario, "PRONTUARIO", 2
lsLimparTextBox frmProntuario
TextBox1.SetFocus
End Sub
'Textos em caixa alta
Private Sub TextBox1_Change()
TextBox1 = UCase(TextBox1)
'Ucase = Upper case
End Sub
Private Sub TextBox2_Change()
TextBox2 = UCase(TextBox2) 'Ucase = Upper case
End Sub
Private Sub TextBox3_Change()
TextBox3 = UCase(TextBox3)
'Ucase = Upper case
End Sub
Macro utilizada para chamar o formulário no botão localizado no topo da planilha
Sub ChamarFormCadastro()
frmCadastro.Show
End Sub
Entre em contato através das minhas redes sociais!
Este projeto esta sobe a licença MIT.
Feito com ❤️ por Vitória Garrucho