Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Modelo De Cadastro - Cheque

Tutoriais elaborados da comunidade
Avatar do usuário
kedim43
Colaborador
Colaborador
Mensagens: 45
Registrado em: Dom Fev 05, 2012 3:12 pm
Localização: Goias
Contato:

Modelo De Cadastro - Cheque

Mensagem por kedim43 »

salve Galera.

Como prometido, aqui esta um dos meus modelos completos para que todos
possam conhecer um pouco mais do meu trabalho em VBA.

Cadastro simples para cheques.

Vamos Botar As Mãos No Código.

Galera, dessa vez vou deixar sem descrever os textboxs e os label, então, espero que todos adaptem o código às suas necessidades.

São ao todo:

11 TextBoxs
01 ComboBox
07 Botões de comando

O restante é com vocês, detalhe: vou comentar para que todos possam entender cada parte do código.

Código:
' Ai vai o código, não se assustem galera, faz parte mesmo.Dim registros As Integer
' Aqui a variavel global

Dim registros As Integer

' Aqui esta o comando responsavel por buscar as informações

Private Sub Command_buscar_Click()
'Verificar se foi digitado um nome na primeira caixa de texto

If Text_codigo.Text = "" Then
MsgBox ("Digite Um Codigo Válido"), vbInformation, ("Sistema Live - Free")

Text_codigo.SetFocus
GoTo Linha1
End If
With Worksheets("Cartao").Range("A:A")
Set c = .Find(Text_codigo.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then

'Repare na localização e os nomes dos textboxs abaixo

Text_codigo.Value = c.Value

Text_nome.Value = c.Offset(0, 1).Value
Text_cpf.Value = c.Offset(0, 2).Value
Text_rg.Value = c.Offset(0, 3).Value

Text_agencia.Value = c.Offset(0, 4).Value
Combo_banco.Value = c.Offset(0, 5).Value
Text_conta.Value = c.Offset(0, 6).Value
Text_digito.Value = c.Offset(0, 7).Value

Text_de.Value = c.Offset(0, 8).Value
Text_ate.Value = c.Offset(0, 9).Value
Text_tempocc.Value = c.Offset(0, 10).Value
Text_situacao.Value = c.Offset(0, 11).Value



Else
MsgBox ("Este Cadastro Não Foi Localizado!!"), vbInformation, ("Sistema Live - Free")

Text_codigo.SetFocus
End If
End With
Linha1:
End Sub

' Aqui o comando Cadastrar

Private Sub Command_cadastrar_Click()

'Resposta sim e não - tomada de decisão, lembram?

Dim Reposta As String
Reposta = MsgBox("Deseja Cadastrar Os Dados Agora?", vbYesNo, "Sistema Live - Free")
If Reposta = vbYes Then

' Nome da pasta onde sera gravado os dados

Registro = Worksheets("Cartao").UsedRange.Rows.Count + 1

' Primeira Parte do codigo, neste exemplo usei a plan14, no seu caso basta mudar para o numero da sua
' plan que vc renomeiou para (Cartao) seu o (~)
'Repare que os textboxs mudam de posição a cada linha e ação desejada

Plan14.Cells(Registro, 1) = Me.Text_codigo
Plan14.Cells(Registro, 2) = Me.Text_nome
Plan14.Cells(Registro, 3) = Me.Text_cpf
Plan14.Cells(Registro, 4) = Me.Text_rg

Plan14.Cells(Registro, 5) = Me.Text_agencia
Plan14.Cells(Registro, 6) = Me.Combo_banco
Plan14.Cells(Registro, 7) = Me.Text_conta
Plan14.Cells(Registro, 8) = Me.Text_digito

Plan14.Cells(Registro, 9) = Me.Text_de
Plan14.Cells(Registro, 10) = Me.Text_ate
Plan14.Cells(Registro, 11) = Me.Text_tempocc
Plan14.Cells(Registro, 12) = Me.Text_situacao

' Aqui um segredo, o auto ajuste das colunas na gravação de dados

Plan14.Range(Columns(2), Columns(12)).AutoFit

MsgBox ("Cadastro Efetuado Com Sucesso!"), vbInformation, ("Sistema Live - Free")

'Limpando os textos digitados

Me.Text_codigo.Text = ""
Me.Text_nome.Text = ""
Me.Text_cpf.Text = ""
Me.Text_rg.Text = ""

Me.Text_agencia.Text = ""
Me.Combo_banco.Text = ""
Me.Text_conta.Text = ""
Me.Text_digito.Text = ""

Me.Text_de.Text = ""
Me.Text_ate.Text = ""
Me.Text_tempocc.Text = ""
Me.Text_situacao.Text = ""


Me.Text_nome.SetFocus

End If

' Resposta não - tomada de decisão

If Reposta = vbNo Then


Me.Text_codigo.Text = ""
Me.Text_nome.Text = ""
Me.Text_cpf.Text = ""
Me.Text_rg.Text = ""

Me.Text_agencia.Text = ""
Me.Combo_banco.Text = ""
Me.Text_conta.Text = ""
Me.Text_digito.Text = ""

Me.Text_de.Text = ""
Me.Text_ate.Text = ""
Me.Text_tempocc.Text = ""
Me.Text_situacao.Text = ""


Me.Text_nome.SetFocus

MsgBox ("Seus Dados Não Foram Gravados"), vbInformation, ("Sistema Live - Free")
End If

Me.Command_cadastrar.Enabled = False


End Sub

' Aqui esta o comando editar, tão procurado e desejado no mundo VBA

Private Sub Command_editar_Click()

' Tomada de decisão

Dim Reposta As String
Reposta = MsgBox("Deseja Realmente Editar Agora?", vbYesNo, "Sistema Live - Free")

If Reposta = vbYes Then

Registro = Me.Text_codigo.Text

' Segunda Parte

Plan14.Cells(Registro, 1) = Me.Text_codigo
Plan14.Cells(Registro, 2) = Me.Text_nome
Plan14.Cells(Registro, 3) = Me.Text_cpf
Plan14.Cells(Registro, 4) = Me.Text_rg

Plan14.Cells(Registro, 5) = Me.Text_agencia
Plan14.Cells(Registro, 6) = Me.Combo_banco
Plan14.Cells(Registro, 7) = Me.Text_conta
Plan14.Cells(Registro, 8) = Me.Text_digito

Plan14.Cells(Registro, 9) = Me.Text_de
Plan14.Cells(Registro, 10) = Me.Text_ate
Plan14.Cells(Registro, 11) = Me.Text_tempocc
Plan14.Cells(Registro, 12) = Me.Text_situacao



MsgBox ("Dados Editados Com Sucesso!"), vbInformation, ("Sistema Live - Free")

Me.Text_codigo.Text = ""
Me.Text_nome.Text = ""
Me.Text_cpf.Text = ""
Me.Text_rg.Text = ""

Me.Text_agencia.Text = ""
Me.Combo_banco.Text = ""
Me.Text_conta.Text = ""
Me.Text_digito.Text = ""

Me.Text_de.Text = ""
Me.Text_ate.Text = ""
Me.Text_tempocc.Text = ""
Me.Text_situacao.Text = ""


Me.Text_nome.SetFocus

End If

' Resposta não- tomada de decisão
If Reposta = vbNo Then

Me.Text_codigo.Text = ""
Me.Text_nome.Text = ""
Me.Text_cpf.Text = ""
Me.Text_rg.Text = ""

Me.Text_agencia.Text = ""
Me.Combo_banco.Text = ""
Me.Text_conta.Text = ""
Me.Text_digito.Text = ""

Me.Text_de.Text = ""
Me.Text_ate.Text = ""
Me.Text_tempocc.Text = ""
Me.Text_situacao.Text = ""


Me.Text_nome.SetFocus

MsgBox ("Seus Dados Não Foram Editados E Não Foram Cadastrados!"), vbInformation, ("Sistema Live - Free")
End If
End Sub

' Aqui está o comando excluir - Aeeeeeeeeeeee Laiaaaaaaaaaaa............

Private Sub Command_excluir_Click()

' Tomada de decisão

Dim Reposta As String

Reposta = MsgBox("Deseja Realmente Excluir O Registro Informado?", vbYesNo, "Sistema Live - Free")

If Reposta = vbYes Then

' Lembre - se de mudar a plan aqui tambem

Plan14.Range("A" & Me.Text_codigo).EntireRow.Delete

MsgBox ("Dados Excluidos Com Sucesso Do Sistema!"), vbInformation, ("Sistema Live - Free")
End If

If Reposta = vbNo Then

MsgBox ("Seus Dados Não Foram Excluidos!"), vbInformation, ("Sistema Live - Free")


Me.Text_codigo.Text = ""
Me.Text_nome.Text = ""
Me.Text_cpf.Text = ""
Me.Text_rg.Text = ""

Me.Text_agencia.Text = ""
Me.Combo_banco.Text = ""
Me.Text_conta.Text = ""
Me.Text_digito.Text = ""

Me.Text_de.Text = ""
Me.Text_ate.Text = ""
Me.Text_tempocc.Text = ""
Me.Text_situacao.Text = ""


Me.Text_nome.SetFocus

End If

End Sub

' Comando Limpar os dados

Private Sub Command_limpar_Click()

Me.Text_codigo.Text = ""
Me.Text_nome.Text = ""
Me.Text_cpf.Text = ""
Me.Text_rg.Text = ""

Me.Text_agencia.Text = ""
Me.Combo_banco.Text = ""
Me.Text_conta.Text = ""
Me.Text_digito.Text = ""

Me.Text_de.Text = ""
Me.Text_ate.Text = ""
Me.Text_tempocc.Text = ""
Me.Text_situacao.Text = ""


Me.Text_nome.SetFocus

End Sub

' Habilitar o botão novo cadastro - Ufa já tamo acabando galera, paciência ai e muita calma nessa hora.

Private Sub Command_novo_Click()
Me.Command_cadastrar.Enabled = True

Me.Text_codigo.Text = ""
Me.Text_nome.Text = ""
Me.Text_cpf.Text = ""
Me.Text_rg.Text = ""

Me.Text_agencia.Text = ""
Me.Combo_banco.Text = ""
Me.Text_conta.Text = ""
Me.Text_digito.Text = ""

Me.Text_de.Text = ""
Me.Text_ate.Text = ""
Me.Text_tempocc.Text = ""
Me.Text_situacao.Text = ""

' Sua pasta que recebera os dados

Registro = Worksheets("Cartao").UsedRange.Rows.Count + 1


Me.Text_codigo = Registro

Me.Text_nome.SetFocus
End Sub

Private Sub Command_sair_Click()
Unload Me
End Sub

' Aqui o campo CPF - olha que coisa fera!

Private Sub Text_cpf_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Limita a Qde de caracteres
Text_cpf.MaxLength = 14

Select Case KeyAscii
Case 8, 48 To 57 ' BackSpace e numericos
If Len(Text_cpf) = 3 Or Len(Text_cpf) = 12 Then
Text_cpf.Text = Text_cpf.Text & "."
SendKeys "{End}", False

ElseIf Len(Text_cpf) = 7 Then
Text_cpf.Text = Text_cpf.Text & "."

ElseIf Len(Text_cpf) = 11 Then
Text_cpf.Text = Text_cpf.Text & "-"
SendKeys "{End}", False
End If

Case Else ' o resto é travado
KeyAscii = 0
End Select
End Sub

' Letra sempra maiuscula no nome - UHUUUUUUUUUUUUUU!

Private Sub Text_nome_Change()
Text_nome.Value = UCase(Text_nome.Value)
End Sub


Private Sub Text_situacao_Change()
Text_situacao.Value = UCase(Text_situacao.Value)
End Sub

Private Sub UserForm_Click()

End Sub


' Than Than, por fim o combo que carrega os bancos, Fera demais galera...

Private Sub UserForm_Initialize()

' Bancos
Combo_banco.AddItem "Banco Do Brasil"
Combo_banco.AddItem "Caixa Economica Federal"
Combo_banco.AddItem "Bradesco"
Combo_banco.AddItem "Itau"
Combo_banco.AddItem "Bamerindus"
Combo_banco.AddItem "Santander"
Combo_banco.AddItem "Banco Real"
Combo_banco.AddItem "Citibank Brasil"
Combo_banco.AddItem "Banco Mercantil Do Brasil"
Combo_banco.AddItem "Outro..."

' Aqui onde se inicia ao iniciar o form

Me.Text_nome.SetFocus
End Sub

Ufa quanta novidade em galera.

Espero que todos gostem e estou sempre a disposição pra ajudar a todos.

Ao tomas, peço que desenvolva e post pra galera o exemplo produzido.
Agradeço tambem pela paciencia de vocês em lerem todos os meus posts e rirem um pouco das brincadeiras pra descomplicar o descomplicou.

Abração a todos.

valeu galera.

Ate nosso proximo post.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder