Usuário com melhor resposta
VALIDAÇÃO DE DADOS!

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
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
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator quarta-feira, 1 de janeiro de 2014 00:09
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator quarta-feira, 1 de janeiro de 2014 00:09
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
-
-
-
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
-
-
Private Sub UserForm_Initialize()
ComboBox1.AddItem "São paulo"
ComboBox1.AddItem "Rio de Janeiro"
ComboBox1.AddItem "Salvador"
ComboBox1.AddItem "Cuiabá"
ComboBox1.AddItem "Outras"
End SubSo que ele diz que tem dois registros iguais Private Sub UserForm_Initialize()
-
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
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator quarta-feira, 1 de janeiro de 2014 00:09
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator quarta-feira, 1 de janeiro de 2014 00:09