Página 1 de 1

Campo Obrigatório - CPF

Enviado: 26 Ago 2015 às 19:40
por Adrian
Boa noite Pessoal!

Estou montando uma duplicata no Excel. Nessa duplicata existe diversos campos inclusive o campo CPF. Quero saber se há alguma uma macro que obriga o preenchimento do campo CPF. Ou seja que ao preencher os outros campos eu só consigo cadastrar se eu informar o CPF, tem como?

Segue anexo

Grato,

Adriano

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 26 Ago 2015 às 22:13
por Sandman
Boa noite Adrian,
Não sou expert em macros, mas acredito que uma simples verificação seja suficiente no seu caso.. .. Enfim se há estiver desenvolvendo a macro para cadastro, procure utilizar algo do tipo para fazer a verificação :

If cells(linha, coluna). Value = '' '' then
Msg box '' msg para o usuário preencher o campo cpf''
Else
Rotina para cadastro
End if

Acredito que com algo do tipo vc consiga
Abraço

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 09:27
por Adrian
Bom dia Sandman,

Não deu certo está acusando erro de compilação.

segue anexo

Grato,

Adriano

CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 09:52
por EduardoCordeiro
Adrian, bom dia.

A solução do Sandman é ótima, faltou somente você alterar os campos em negrito conforme a necessidade da sua planilha.

If cells(LINHA,COLUNA). Value = '' '' then
Msg box '' msg para o usuário preencher o campo cpf''
Else
Rotina para cadastro
End if

Abs
Eng. Eduardo

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 11:00
por alexandrevba
Bom dia!!

Caso você esteja usando um USerform com um TextBox de nome txtCPF, também tem essa forma.
Código: Selecionar todos
Private Sub txtCPF_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    txtCPF.MaxLength = 14
 
     Select Case KeyAscii
        Case 8, 48 To 57
          If Len(txtCPF) = 3 Or Len(txtCPF) = 12 Then
            txtCPF.Text = txtCPF.Text & "."
            SendKeys "{End}", False
 
        ElseIf Len(txtCPF) = 7 Then
            txtCPF.Text = txtCPF.Text & "."
 
        ElseIf Len(txtCPF) = 11 Then
            txtCPF.Text = txtCPF.Text & "-"
            SendKeys "{End}", False
          End If
 
        Case Else
            KeyAscii = 0
      End Select
End Sub
no botão SAlvar, tente validar os campos que estão vazios.
Código: Selecionar todos
    
'txt para textbox e cbx para combobox
Dim cControl As Control
        For Each cControl In Me.Controls
            If cControl.Name Like "txt*" Or cControl.Name Like "cbx*" Then cControl = vbNullString
        Next
Att

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 13:06
por Adrian
Não serve não Alexandre, por que não estou trabalhando com USerform . Mas valeu

Obrigado!

Adriano

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 13:15
por Adrian
Boa tarde Eduardo

Não conseguir entender. Olha só onde está LINHA, COLUNA substituir por "A5" e onde está Rotina para cadastro eu não entendi

If cells(LINHA,COLUNA). Value = '' '' then
Msg box '' msg para o usuário preencher o campo cpf''
Else
Rotina para cadastro
End if

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 13:19
por alexandrevba
Boa tarde!

Mande seu arquivo, que eu vou alterar para você!!

Att

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 13:45
por Adrian
Alexandre ver se você consegue.

Muito grato,


Adriano

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 14:20
por alexandrevba
Boa tarde!!

Tente assim...
Código: Selecionar todos
Sub campocpf()
If Range("B12").Value = "" Then
MsgBox "favor preencher o campo cpf"
Else
'Rotina para cadastro
End If

End Sub
Cuidado com os apostrofes, as string ou textos aceitam aspas dupla

Att

Re: CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 17:53
por Adrian
Alexandre, você é o cara parceiro. Muito feliz e satisfeito por tudo.

Obrigado mais uma vez!

Adriano

CAMPO OBRIGATÓRIO - CPF

Enviado: 27 Ago 2015 às 19:35
por laennder
Adrian, vou considerar o seu post como resolvido.

Por favor, quando uma resposta resolver o seu problema, clique no botão MARCAR RESOLVIDO.