Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
Por Adrian
Posts
#2477
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
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Sandman
Posts Avatar
#2478
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
Por Adrian
Posts
#2481
Bom dia Sandman,

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

segue anexo

Grato,

Adriano
Você não está autorizado a ver ou baixar esse anexo.
Por EduardoCordeiro
Posts
#2482
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
Avatar do usuário
Por alexandrevba
Avatar
#2484
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
Por Adrian
Posts
#2498
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
Avatar do usuário
Por alexandrevba
Avatar
#2499
Boa tarde!

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

Att
Avatar do usuário
Por alexandrevba
Avatar
#2504
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
Avatar do usuário
Por laennder
Avatar
#2517
Adrian, vou considerar o seu post como resolvido.

Por favor, quando uma resposta resolver o seu problema, clique no botão MARCAR RESOLVIDO.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord