none
VALIDAÇÃO DE DADOS! RRS feed

  • Pergunta

  • Olá!

    Como eu faço de uma maneira simples para obrigar o preenchimento de um campo sem ser pela VALIDAÇÃO DE DADOS QUE O PRÓPRIO EXCEL TRÁS.

    Por favor preciso de ajuda!

    Private Sub Cadastrar_Click()

    protege

         ActiveCell.Offset(0, 0) = TextBox1
         ActiveCell.Offset(0, 1) = TextBox2
         ActiveCell.Offset(0, 2) = TextBox3
         ActiveCell.Offset(0, 3) = TextBox4
         ActiveCell.Offset(0, 4) = TextBox5
         ActiveCell.Offset(0, 5) = TextBox6
         ActiveCell.Offset(0, 6) = TextBox7
         ActiveCell.Offset(0, 7) = TextBox8
         ActiveCell.Offset(0, 8) = TextBox9
         ActiveCell.Offset(0, 10) = TextBox11
         ActiveCell.Offset(0, 11) = TextBox12
         ActiveCell.Offset(1, 0).Select
        desprotege

    Else
         
       End
    End If

    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
    TextBox7 = ""
    TextBox8 = ""
    TextBox9 = ""
    TextBox11 = ""
    TextBox12 = ""

    End Sub



    Private Sub Cancelar_Click()
    End

    End Sub

    Private Sub ComboBox1_Initialize()


    End Sub

    Private Sub Limpar_Click()
    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
    TextBox7 = ""
    TextBox8 = ""
    TextBox9 = ""
    TextBox11 = ""
    TextBox12 = ""



    End Sub

    • Editado Lu13202 domingo, 31 de março de 2013 03:06
    domingo, 31 de março de 2013 02:51

Respostas

  • Você não pode criar dois procedimentos com o nomes nome num mesmo módulo ou classe.

    Experimente: 

    Private Sub UserForm_Initialize()
        ComboBox1.AddItem "São paulo"
        ComboBox1.AddItem "Rio de Janeiro"
        ComboBox1.AddItem "Salvador"
        ComboBox1.AddItem "Cuiabá"
        ComboBox1.AddItem "Outras"
    
        ComboBox2.AddItem "São paulo"
        ComboBox2.AddItem "Rio de Janeiro"
        ComboBox2.AddItem "Salvador"
        ComboBox2.AddItem "Cuiabá"
        ComboBox2.AddItem "Outras"
    End Sub


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

    sexta-feira, 5 de abril de 2013 00:22
    Moderador

Todas as Respostas

  • Minha sugestão é você substituir o uso do controle TextBox pelo controle ComboBox (caixa de combinação). Experimente adicionar uma caixa de combinação chamada ComboBox1 num formulário. Clique sobre ela e pressione F4 para acessar suas propriedades.

    Altere a propriedade Style da caixa de combinação para o valor 2 - fmStyleDropDownList.

    Em seguida, utilize o código abaixo:

    Private Sub UserForm_Initialize()
        ComboBox1.AddItem "Felipe"
        ComboBox1.AddItem "Renata"
        ComboBox1.AddItem "Rodrigo"
    End Sub

    No entanto, ao clicar no botão de cadastrar, o usuário ainda pode deixar uma caixa de combinação em branco. Para evitar tal, faça algo como:

    Private Sub Cadastrar_Click()
        If ComboBox1 = "" Then
            MsgBox "O Campo 'Nome' não pode ficar em branco!", vbCritical
            Exit Sub
        End If
    End Sub


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

    domingo, 31 de março de 2013 11:59
    Moderador
  • Muito obrigado Mais eu não encontrei está propriedade Style.
    domingo, 31 de março de 2013 14:57
  • Selecione o controle ComboBox1 e pressione a tecla F4. Na janela propriedades que aparecer (ou já estiver presente na tela), desça a lista e procure por essa propriedade.

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

    domingo, 31 de março de 2013 16:21
    Moderador
  • Quanto a sugestão que você me deu tentei realizar 2 caixas de combinação no mesmo UserForm com o mesmo Código que você me deu, apenas substitui:

    ComboBox1 por ComboBox2

    e os "NOMES" entre aspas

    Mais apareceu um erro dizendo que já tinha uma Combobox com o código

    Private Sub UserForm_Initialize()


    • Editado Lu13202 domingo, 31 de março de 2013 17:24
    domingo, 31 de março de 2013 16:58
  • Poste o código completo aqui, por favor.

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

    domingo, 31 de março de 2013 22:42
    Moderador
  • Private Sub UserForm_Initialize()
        ComboBox1.AddItem "São paulo"
        ComboBox1.AddItem "Rio de Janeiro"
        ComboBox1.AddItem "Salvador"
        ComboBox1.AddItem "Cuiabá"
        ComboBox1.AddItem "Outras"
    End Sub

    So que ele diz que tem dois registros iguais      Private Sub UserForm_Initialize()

    quinta-feira, 4 de abril de 2013 23:59
  • Você não pode criar dois procedimentos com o nomes nome num mesmo módulo ou classe.

    Experimente: 

    Private Sub UserForm_Initialize()
        ComboBox1.AddItem "São paulo"
        ComboBox1.AddItem "Rio de Janeiro"
        ComboBox1.AddItem "Salvador"
        ComboBox1.AddItem "Cuiabá"
        ComboBox1.AddItem "Outras"
    
        ComboBox2.AddItem "São paulo"
        ComboBox2.AddItem "Rio de Janeiro"
        ComboBox2.AddItem "Salvador"
        ComboBox2.AddItem "Cuiabá"
        ComboBox2.AddItem "Outras"
    End Sub


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

    sexta-feira, 5 de abril de 2013 00:22
    Moderador