Permitir Edição aut...
 
Notifications
Clear all

Permitir Edição automatica em textbox

6 Posts
2 Usuários
0 Reactions
925 Visualizações
(@mprudencio)
Posts: 0
New Member
Topic starter
 

Boa tarde, como fazer para que uma textbox em um formulario fique editavel

Tenho um formulario que ja carrega uma informação, porem preciso que essa textbox fique editavel como se fosse uma celula

Exemplificando

Em uma celula se ela tiver alguma informação basta começar a digitar novamente que seu valor é modificado automaticamente

Como fazer o mesmo na textbox

No exemplo a textbox carrega o valor 1 e preciso colocar outro numero sem ter que apagar esse somente digitando novamente como fazemos em uma celula

Coloco 1 a celula pq se a qtd for 1 basta confirmar a quantidade

Outra coisa que me surgiu de ultima hora é limitar os dados que a textbox pode receber, nesta mesma textbox gostaria de permitir somente numeros

 
Postado : 17/03/2016 2:01 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Utilize as instruções abaixo :

Private Sub UserForm_Initialize()
    With Me.TextBox1
        .Value = 1
        .SetFocus
        .SelStart = 0
        .SelLength = Len(.Text)
    End With

End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    'Limita a Qde de caracteres
    TextBox1.MaxLength = 2
       
    'para permitir que apenas números sejam digitados
    If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
        KeyAscii = 0
    End If
       
End Sub
 
Postado : 17/03/2016 2:17 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Reaberto a pedido.

De: MPrudencio
Para: Mauro Coutinho

Boa noite peço por favor reabrir o topico sobre textbox que criei ainda a pouco, preciso resolver uma pequena pendencia que acabou de surgir que é permitir a digitação de valores decimais por exemplo

0,200

Troque por esta, e veja se é isto :

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    'Limita a Qde de caracteres
    TextBox1.MaxLength = 5
    
    Select Case KeyAscii
        'para permitir que apenas números sejam digitados
        Case Asc("0") To Asc("9")
        
        'Aceitar somente a Virgula
        Case Asc(",")
            If InStr(1, Me.TextBox1.Text, ",") > 0 Then
                KeyAscii = 0
            End If
        Case Else
            KeyAscii = 0
    End Select

End Sub
 
Postado : 17/03/2016 7:09 pm
(@mprudencio)
Posts: 0
New Member
Topic starter
 

Mauro a ideia é digitar numeros decimais, por isso a necessidade de utilizar a virgula

 
Postado : 18/03/2016 10:11 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Mauro a ideia é digitar numeros decimais, por isso a necessidade de utilizar a virgula

Com esta última rotina que passei, ela foi ajustada exatamente para que se aceite a virgula.

 
Postado : 18/03/2016 11:41 am
(@mprudencio)
Posts: 0
New Member
Topic starter
 

Isso que da não testar antes de comentar, sofrendo do proprio veneno, como vi a virgula em separado achei (não devia), que ia somente aceitar a virgula e nao os dois grupos juntos.

Funcionou perfeitamente.

 
Postado : 18/03/2016 2:19 pm