Usuário com melhor resposta
Excel VBA: Problema ao inserir dados na planilha

Pergunta
-
Uso a seguinte fórmula para inserir os dados na planilha como números:
If TextBox4 <> "" Then
ActiveSheet.Cells(17, 1) = CDbl(TextBox4)
End IfAcontece que se eu preencher o textbox, clicar em inserir, depois apagar e clicar em inserir de novo; os números permanecem na planilha, mas eu quero que a célula fique em branco, já que não há números.
Outra coisa, como faço para permitir que um botão só seja clicado após um outro botão ser clicado primeiro?
Vlw
Respostas
-
Clicando com o botão direito no TextBox, selecione propriedades (caso as propriedades do componente não estejam sendo exibidas no lado esquerdo da janela). Na lista que aparecer altere a propriedade MaxLength para a quantidade de caracteres que você precisa.
Caso deseje fazer esta validação via código, pode fazer da seguinte forma
If Len(TextBox1.Text) >= 11 Then MsgBox "Você ultrapassou o limite de caracteres" End If
Bráulio Figueiredo
braulio@braulioti.com.br - http://www.braulioti.com.br
- Editado Bráulio Figueiredo Pinto quinta-feira, 2 de outubro de 2014 18:45 Informação Incompleta
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de outubro de 2014 00:20
-
Sobre a primeira dúvida, use o código:
If IsNumeric(TextBox4) Then Range("A17") = CDbl(TextBox4) Else If TextBox4 = "" Then Range("A17").ClearContents Else MsgBox "Digite um número ou deixe a caixa de texto vazia!", vbCritical TextBox4.SetFocus End If End If
Sobre sua segunda dúvida, considerando que CommandButton2 pode ser pressionado apenas se CommandButton já houver sido pressionado, use um código como:
Private Sub UserForm_Initialize() CommandButton2.Enabled = False End Sub Private Sub CommandButton1_Click() CommandButton2.Enabled = True End Sub v
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de outubro de 2014 00:20
Todas as Respostas
-
Olá Speedy,
Basta criar uma condição caso não esteja em branco
If textbox4 <> "" Then ActiveSheet.Cells(17, 1) = CDbl(textbox4) Else ActiveSheet.Cells(17, 1) = "" End If
Bráulio Figueiredo
braulio@braulioti.com.br - http://www.braulioti.com.br
- Sugerido como Resposta Bráulio Figueiredo Pinto quinta-feira, 2 de outubro de 2014 18:30
-
-
Clicando com o botão direito no TextBox, selecione propriedades (caso as propriedades do componente não estejam sendo exibidas no lado esquerdo da janela). Na lista que aparecer altere a propriedade MaxLength para a quantidade de caracteres que você precisa.
Caso deseje fazer esta validação via código, pode fazer da seguinte forma
If Len(TextBox1.Text) >= 11 Then MsgBox "Você ultrapassou o limite de caracteres" End If
Bráulio Figueiredo
braulio@braulioti.com.br - http://www.braulioti.com.br
- Editado Bráulio Figueiredo Pinto quinta-feira, 2 de outubro de 2014 18:45 Informação Incompleta
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de outubro de 2014 00:20
-
Sobre a primeira dúvida, use o código:
If IsNumeric(TextBox4) Then Range("A17") = CDbl(TextBox4) Else If TextBox4 = "" Then Range("A17").ClearContents Else MsgBox "Digite um número ou deixe a caixa de texto vazia!", vbCritical TextBox4.SetFocus End If End If
Sobre sua segunda dúvida, considerando que CommandButton2 pode ser pressionado apenas se CommandButton já houver sido pressionado, use um código como:
Private Sub UserForm_Initialize() CommandButton2.Enabled = False End Sub Private Sub CommandButton1_Click() CommandButton2.Enabled = True End Sub v
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de outubro de 2014 00:20