none
Configurações de campos RRS feed

  • Pergunta

  • Prezados, boa tarde.

    Tô com um projeto VBA em fase final, onde já te mais de 120 campos, sendo que a base de construção é em cima do número do CPF do funcionário. Basicamente, é um cadastro de funcionário, com todos os campos necessários, inclusive pra inclusão de dependentes e dados bancários.

    Este sistema faz uma busca no CPF a ser cadastrado, pra verificar se este funcionário já passou pela empresa (consultando uma base de dados já existente), trazendo alguns dados básicos como documentação e endereço.

    Aqui tenho dois problemas:

    1) quando ele executa a busca e localiza o CPF, traz os dados da base, porém na combobox do CPF, ele "engole" os números que começam com zero; Isto acarreta um retrabalho de vc ir lá e ter que informar os zeros novamente pra poder gravar um novo registro. Isto quando não dá algum erro de depuração, por não reconhecer o CPF informado em uma busca em outros campos.

    2) as datas nascimento que você informa, ele inverte na hora que você grava na planilha. Exemplo: 06/02/1974 ele grava como 02/06/1974.

    Gostaria de saber se alguém tem alguma maneira de mexer no código para que estes dois erros principalmente não ocorram!

    Obrigado!

    Abraço!

    Junior.

    terça-feira, 18 de outubro de 2016 19:03

Respostas

  • Use:

    ActiveCell.Offset(0, 4).Value = CLng(Cdate(txt_Nascimento.Value))

    e:

    Me.txtNome.Value = Cstr(.Cells(lngRow, "B").Value)
    


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    sexta-feira, 21 de outubro de 2016 00:50
    Moderador

Todas as Respostas

  • 1) Formate a coluna do CPF como texto.

    Qual linha de comando você usa para gravar o CPF?

    2) Qual linha de comando você usa para gravar a data de nascimento?


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quarta-feira, 19 de outubro de 2016 20:21
    Moderador
  • @Felipe,

    O código é um pouco longo, por isso vou resumir aqui a linha de comando.

    Após ele efetuar uma série de verificações, seria assim pra gravar data de nascimento:

    Private Sub cmd_Gravar_Click()
    
    ThisWorkbook.Worksheets("Dependentes").Activate
    Range("A2").Select
    ActiveCell.Offset(0, 4).Value = txt_Nascimento.Value

    E esta daqui para a Pesquisa do CPF:

    Private Sub btnPesquisar_Click()
    Dim lngRow As Long    
    
    Me.txtNome.Value = ""   
    With ThisWorkbook.Worksheets("Pessoa Fisica")   
    
    lngRow = fMatch(Me.TxtCPF.Value, .Columns("A"))    
    If lngRow = 0 Then    MsgBox "CPF não cadastrado!", vbCritical    
    
    Else
    Me.txtNome.Value = .Cells(lngRow, "B").Value
    
    (...)

    Quando formatamos a coluna do CPF como texto, ele ignora os zeros do início do número ....

    Não sei se fui muito claro pra expor o problema, mas se puder me ajudar, agradeço.

    Abraço.

    Junior.

    quinta-feira, 20 de outubro de 2016 21:50
  • Use:

    ActiveCell.Offset(0, 4).Value = CLng(Cdate(txt_Nascimento.Value))

    e:

    Me.txtNome.Value = Cstr(.Cells(lngRow, "B").Value)
    


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    sexta-feira, 21 de outubro de 2016 00:50
    Moderador
  • @Felipe,

    Deram certos os dois campos com as alterações que você sugeriu.

    Muito obrigado pela ajuda!

    Abraços!

    Junior

    domingo, 23 de outubro de 2016 14:25