Pergunta : Como restringir somente uma vez o usuário chave-no ponto/ponto decimal em um Textbox de Userform?

Olá! todos,

que eu estou tentando fazer minha própria caixa de texto numérica em VBA desde que não há nenhuns (ou há?). Eu estou trabalhando atualmente em minhas validações e o problema é: Eu não quero o usuário incorporar o ponto/ponto decimal (.) mais de uma vez no Textbox de Userform. o

até à data de agora, eu estou entregando o evento de KeyPress do textbox, tenho que dar laços através de cada caráter da corda, a seguir encontro-o então para substituir o ponto/ponto decimal com um espaço em branco (o "" representa o espaço em branco, é mim endireita?). Eu não compreendo porque meu programa não remove o mais atrasado fechar-no ponto. Pode qualquer um ajudar-me para fora? Ou há uma maneira muito melhor de fazer isto? Agradecimentos adiantado.
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
ctrLast notpretty do >Dim " do class= " de " codeSnippet844381 do id= do
           
class= do

Resposta : Como restringir somente uma vez o usuário chave-no ponto/ponto decimal em um Textbox de Userform?

Está aqui algum código:

Submarino confidencial TextBox1_KeyPress (ByVal KeyAscii como MSForms.ReturnInteger)
Selecionar o caso KeyAscii
   Encaixotar Asc (“0”) a Asc (“9”)
    Encaixotar o Asc (“-”)
       Se Instr (1, Me.TextBox1.Text, “-”) > 0 ou Me.TextBox1.SelStart > 0 então
           KeyAscii = 0
       Terminar se
   Encaixotar Asc (“.")
       Se InStr (1, Me.TextBox1.Text, “.") > 0 então
           KeyAscii = 0
       Terminar se
   Encaixotar mais
       KeyAscii = 0
Extremidade seleta
Submarino da extremidade

de aqui: http://www.cpearson.com/excel/TextBox.htm

Outras soluções  
 
programming4us programming4us