Ir ao conteúdo
  • Cadastre-se

TextBox assumindo formatação condicional conforme ComboBox


Posts recomendados

Prezados Colegas, bom dia!

 

Preciso de um help!

 

Num Userform, tenho uma ComboBox que definirá a formatação da TextBox. Ou seja, quando a ComboBox estiver "PESSOA JURÍDICA", a TextBox assumirá a formatação "XX.XXX.XXX/XXXX-XX"; e quando a ComboBox for "PESSOA FÍSICA", TextBox assumindo formato "XXX.XXX.XXX-XX".

 

As linhas de comando abaixo não funcionaram.

 

    If Len(ComboBox1) = "PESSOA JURÍDICA" Then
    If TextBox2.MaxLength = 22 Then
    'Formato XX.XXX.XXX/XXXX-XX
    If Len(TextBox2) = 2 Then
    TextBox2.Text = TextBox2 & "."
    End If
    If Len(TextBox2) = 6 Then
    TextBox2.Text = TextBox2 & "."
    End If
    If Len(TextBox2) = 10 Then
    TextBox2.Text = TextBox2 & "/"
    End If
    If Len(TextBox2) = 15 Then
    TextBox2.Text = TextBox2 & "-"
    End If
    End If
    End If
    If Len(ComboBox1) = "PESSOA FÍSICA" Then
    If TextBox2.MaxLength = 14 Then
    'Formato XXX.XXX.XXX-XX
    If Len(TextBox2) = 3 Then
    TextBox2.Text = TextBox2 & "."
    End If
    If Len(TextBox2) = 7 Then
    TextBox2.Text = TextBox2 & "."
    End If
    If Len(TextBox2) = 10 Then
    TextBox2.Text = TextBox2 & "-"
    End If
    End If
    End If
 

Alguém pode me ajudar a solucionar esse problema?

 

Aguardo retorno

Link para o comentário
Compartilhar em outros sites

opção 1 - formata a entrada na TextBox com base na seleção feita na ComboBox

If ComboBox1.Text = "PESSOA FÍSICA" Then
  TextBox1.Text = Format(TextBox1.Text, "###"".""###"".""###""-""##")
ElseIf ComboBox1.Text = "PESSOA JURÍDICA" Then
  TextBox1.Text = Format(TextBox1.Text, "##"".""###"".""###""/""####""-""##")

End If

 

 

opção 2 - formata a entrada na TextBox com base na quantidade de dígitos inseridos na própria TextBox

If Len(TextBox1.Text) = 11 Then '11 dígitos >>>  cpf
    TextBox1.Text = Format(TextBox1.Text, "###"".""###"".""###""-""##")
  ElseIf Len(TextBox1.Text) = 14 Then ' 14 dígitos >>> cnpj
    TextBox1.Text = Format(TextBox1.Text, "##"".""###"".""###""/""####""-""##")
  Else: MsgBox "CPF's devem conter 11 digitos. e CNPJ's 14 dígitos ", vbCritical, "Atenção"
  End If

 

 

Se não resolver sugiro que você disponibilize aqui uma amostra do seu arquivo.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...