Cuestión : ¿Cómo restringir a usuario llave-en al punto/a la coma solamente una vez en un Textbox de Userform?

Hola cada uno,

que estoy intentando hacer mi propia caja de texto numérica en VBA puesto que no hay ninguno (o hay?). Estoy trabajando actual en mis validaciones y el problema es: No quisiera que el usuario incorporara el punto/la coma (.) más de una vez en el Textbox de Userform. el

en fecha ahora, estoy dando el acontecimiento de KeyPress del textbox, teniendo que colocar a través de cada carácter de la secuencia, después encuentro entonces para substituir el punto/la coma por un espacio en blanco (el "" representa el espacio en blanco, es yo endereza?). No entiendo porqué mi programa no quita el más último afinar-en punto. ¿Puede cualquier persona ayudarme hacia fuera? ¿O hay una manera mucho mejor de hacer esto? Gracias por adelantado.
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
ctrLast notpretty del >Dim " del class= " de " codeSnippet844381 del id= del
           
class= del

Respuesta : ¿Cómo restringir a usuario llave-en al punto/a la coma solamente una vez en un Textbox de Userform?

Aquí está un cierto código:

Submarino privado TextBox1_KeyPress (ByVal KeyAscii como MSForms.ReturnInteger)
Seleccionar el caso KeyAscii
   Encajonar Asc (“0”) a Asc (“9”)
    Encajonar el Asc (“-”)
       Si Instr (1, Me.TextBox1.Text, “-”) > 0 o Me.TextBox1.SelStart > 0 entonces
           KeyAscii = 0
       Terminar si
   Encajonar Asc (“.")
       Si InStr (1, Me.TextBox1.Text, “.") > 0 entonces
           KeyAscii = 0
       Terminar si
   Encajonar
       KeyAscii = 0
Extremo selecto
Submarino del extremo

de aquí: http://www.cpearson.com/excel/TextBox.htm

Otras soluciones  
 
programming4us programming4us