FORMAT EM TEXTBOX - EXECUTANDO EM TEMPO REAL
                    Pessoal, tem como em tempo [Ô]real[Ô] (no mometo da digitação), em uma TextBox, ser acrescentado [Ô],[Ô] ou [Ô].[Ô] dependendo da precisão, para separar valores numéricos ?
O MaskEdBox não serve neste caso....pois a finalidade é que não necessite o usuário digitar [Ô].[Ô] ou [Ô],[Ô] entre os valores... ou seja, que eles sejam preenchidos automaticamente.
Uso no evento LostFocus este script:
Faz beleza, mas tou precisando de um scrip para executar em tempo real. 
                
            O MaskEdBox não serve neste caso....pois a finalidade é que não necessite o usuário digitar [Ô].[Ô] ou [Ô],[Ô] entre os valores... ou seja, que eles sejam preenchidos automaticamente.
Uso no evento LostFocus este script:
Me.Text1.Text = Format(Me.Text1.Text, Format([Ô]###,##0.00[Ô]))
Faz beleza, mas tou precisando de um scrip para executar em tempo real.
 
                
                    ***Coloque estes códigos num Módulo:***
========================================
***Para testar as funções, coloque um TextBox (Text1) em um form e cole o código abaixo:***
========================================
Comentários são bem-vindos...
Matheus de Oliveira (matioli.matheus@hotmail.com)
            Public Sub MascMoeda(ByVal Controle As TextBox)
Dim i As Integer, T As String
With Controle
    [ô]Armazena o Text, para nao causar o evento change a toa
    T = .Text
    [ô]Armazena o SelStart da Dir. para Esq., pois o alinhamento é esq.
    i = Len(T) - .SelStart
    [ô]Tira a virgula da var T
    T = Replace(.Text, [Ô],[Ô], [Ô][Ô])
    [ô]Acrescenta zeros
    If Len(T) < 3 Then T = String(3 - Len(T), [Ô]0[Ô]) & T
    [ô]Monta o nr separando as casas
    T = Mid(T, 1, Len(T) - 2) & [Ô],[Ô] & Mid(T, Len(T) - 1)
    [ô]Formata o nr para tirar os zeros a mais q podem ficar no começo
    T = Format(T, [Ô]#0.00[Ô])
    [ô]Verifica se o valor do Text é <> da Var. T (para nao travar no evento Change)
    If .Text <> T Then .Text = T
    [ô]Como mudou o valor do TextBox, tem q voltar o SelStart ao q era antes
    .SelStart = Len(T) - i
End With
End SubPublic Sub ApenasNrs(ByRef KeyAscii As Integer)
Select Case KeyAscii
    [ô]Se a tecla for numérica (0 - 9) ou o backspace (8)
    Case Asc([Ô]0[Ô]) To Asc([Ô]9[Ô]), 8
    [ô]Se não for numérica
    Case Else
        Beep [ô]Som de erro, nao é necessário
        KeyAscii = 0 [ô]Cancela a entrada
End Select
End SubPublic Sub SelTudo(ByVal Controle As TextBox)
[ô]Posiciona o cursor no começo
Controle.SelStart = 0
[ô]Seleciona todo o TextBox
Controle.SelLength = Len(Controle.Text)
End Sub========================================
***Para testar as funções, coloque um TextBox (Text1) em um form e cole o código abaixo:***
Private Sub Text1_Change()
MascMoeda Text1 [ô]Para criar a máscara de moeda
End SubPrivate Sub Text1_GotFocus()
SelTudo Text1 [ô]Para selecionar todo TextBox
End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
ApenasNrs KeyAscii [ô]Para aceitar apenas nrs
End Sub========================================
Comentários são bem-vindos...
Matheus de Oliveira (matioli.matheus@hotmail.com)
                    Obrigado TECLA pela resposta tão completa 
Vou adaptar o Módulo para reconhecer o Ponto [Ô].[Ô] após o sexto número 
                
            
Vou adaptar o Módulo para reconhecer o Ponto [Ô].[Ô] após o sexto número
 
                
                        Tópico encerrado , respostas não são mais permitidas
                    
                
