none
VBA Excel, Planilha de membro RRS feed

  • Pergunta

  • Olá, pessoal, preciso de uma ajuda urgente, sou meia leiga no VBA ainda rs.

    e estou com um problema:

    Fiz uma planilha de cadastro de membro da minha igreja, tudo certo, até a hora de executar.

    Quando executo o programa e escrevo todos os dado, na hora de aperta o botão gravar, grava somente até a 3 linha no caso até o endereço e ai aparece um erro em tempo de execução 424: O Objeto é obrigatório . e ai aparece a opção depurar e Quando clico em depurar aparece o comando do nascimento sublinhado de amarelo, só que ele esta como todos os outros que esta certo.

    Não sei o que acontece alguem pode me ajudar

    Codigo usado:

    Private Sub cboCidade_Change()

    End Sub

    Private Sub UserForm_Initialize()
    cboCargo.AddItem "Pastor(a)"
    cboCargo.AddItem "Presbitero"
    cboCargo.AddItem "Missonario(a)"
    cboCargo.AddItem "Obreiro(a)"
    cboCargo.AddItem "Membro"
    cboCargo.AddItem "Visitante"
    cboCargo.AddItem "Cooperador(a)"



    End Sub

    Private Sub cboCargo_Change()

    End Sub

    Private Sub cmdExcluir_Click()
    'Declarar a variável Resp para receber uma resposta
    Dim Resp As Integer
    'Fazer a busca do registro digitado pelo usuário
    With Worksheets("Dados Clientes").Range("A:A")
    Set c = .Find(txtCPF.Value, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
    Resp = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Confirmação")
    If Resp = vbYes Then
    c.Select
    Selection.EntireRow.Delete
    'Limpar as caixas de texto
    txtCPF.Value = Empty
    txtNome.Value = Empty
    txtEndereco.Value = Empty
    txtNascimento.Value = Empty
    txtGenêros.Value = Empty
    cboCargo.Value = Empty
    txtCelular.Value = Empty
    txtTelefone.Value = Empty
    txtEmail.Value = Empty
    txtBatismo.Value = Empty
    OptionButton1.Value = False
    OptionButton2.Value = False
    'Colocar o foco na primeira caixa de texto
    txtCPF.SetFocus
    Else
    MsgBox "O registro não será excluído!"
    End If
    Else
    MsgBox "Membro não encontrado!"
    End If
    End With
    Exit Sub

    End Sub

    Private Sub cmdFechar_Click()
    Dados.Hide
    End Sub

    Private Sub cmdGravar_Click()

    'Ativar a primeira planilha
    ThisWorkbook.Worksheets("Dados Clientes").Activate
    'Selecionar a célula A3
    Range("A3").Select

    'Procurar a primeira célula vazia
    Do
    If Not (IsEmpty(ActiveCell)) Then
    ActiveCell.Offset(1, 0).Select
    End If
    Loop Until IsEmpty(ActiveCell) = True

    'Carregar os dados digitados nas caixas de texto para a planilha
    ActiveCell.Value = txtCPF.Value
    ActiveCell.Offset(0, 1).Value = txtNome.Value
    ActiveCell.Offset(0, 2).Value = txtEndereco.Value
    ActiveCell.Offset(0, 3).Value = txtNascimento.Value
    ActiveCell.Offset(0, 4).Value = txtGenêros.Value


    ActiveCell.Offset(0, 5).Value = cboCargo.Value
    ActiveCell.Offset(0, 6).Value = txtCelular.Value
    ActiveCell.Offset(0, 7).Value = txtTelefone.Value
    ActiveCell.Offset(0, 8).Value = txtEmail.Value
    ActiveCell.Offset(0, 9).Value = txtBatismo.Value

    'Carregar o Genêro do cliente dos botões de opção
    If OptionButton1.Value = True Then
    ActiveCell.Offset(0, 4).Value = "Masculino"
    Else
    ActiveCell.Offset(0, 4).Value = "Feminino"
    End If

    'Limpar as caixas de texto
    txtCPF.Value = Empty
    txtNome.Value = Empty
    txtEndereco.Value = Empty
    txtGenêros.Value = Empty
    cboCargo.Value = Empty
    txtCelular.Value = Empty
    txtEndereco.Value = Empty
    'Limpar as caixas de combinação
    cboCargo.Value = Empty
    txtTelefone.Value = Empty
    txtEmail.Value = Empty
    txtNascimento.Value = Empty


    'Limpar os botões CheckBox e OptionButton
    OptionButton1.Value = False
    OptionButton2.Value = False
    'Colocar o foco na primeira caixa de texto
    txtCPF.SetFocus

    End Sub

    Private Sub cmdPesquisar_Click()
    'Verificar se foi digitado um nome na primeira caixa de texto
    If txtCPF.Text = "" Then
    MsgBox "Digite o CPF de um Membro"
    txtCPF.SetFocus

    GoTo Linha1
    End If
    With Worksheets("Dados Clientes").Range("A:A")
    Set c = .Find(txtCPF.Value, LookIn:=xlValues, LookAt:=xlPart)
    If Not c Is Nothing Then
    c.Activate
    txtCPF.Value = c.Value
    txtNome.Value = c.Offset(0, 1).Value
    txtEndereco.Value = c.Offset(0, 2).Value
    txtNascimento.Value = c.Offset(0, 3).Value
    txtGenêros.Value = c.Offset(0, 4).Value
    cboCargo.Value = c.Offset(0, 5).Value
    txtCelular.Value = c.Offset(0, 6).Value
    txtTelefone.Value = c.Offset(0, 7).Value
    txtEmail.Value = c.Offset(0, 8).Value
    txtBatismo.Value = c.Offset(0, 9).Value
    'Carregando o botão de opção
    If c.Offset(0, 4) = "Masculino" Then
    OptionButton1.Value = True
    Else
    OptionButton2.Value = True
    End If
    Else
    MsgBox "Membro não encontrado!"
    End If
    End With
    Linha1:
    End Sub

    Private Sub Label3_Click()

    End Sub

    Private Sub Label5_Click()

    End Sub

    Private Sub Label9_Click()

    End Sub

    Private Sub txtCPF_Change()

    End Sub

    Private Sub UserForm_Click()

    End Sub


    • Editado Mayara Magna sexta-feira, 24 de janeiro de 2014 16:49
    sexta-feira, 24 de janeiro de 2014 16:49

Todas as Respostas

  • Bem vinda ao fórum.

    Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    Sobre a sua pergunta, em qual das três linhas de código da data de nascimento dá erro?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    domingo, 26 de janeiro de 2014 23:01
    Moderador