VB6 - Evento Validate - formatando o número do telefone. 

Você pode usar o evento Validate do controle TextBox para fazer a formatação da entrada de dados feitas pelo usuário. Como exemplo vou mostrar como formatar o número do telefone informado em uma caixa de texto. ( O evento presente somente na versao 6 do VB )

1- Inicie um novo projeto no VB e no formulário padrão insira duas labels duas caixas de texto e um botão de comando, conforme layout abaixo:

O layout do formulário A entrada inicial O valor formatado

2- A seguir insira no evento Validate do controle text1.text o seguinte código:

Private Sub Text1_Validate(keepfocus As Boolean)
If Not IsNumeric(Text1.text) Or Len(Text2.text) < 4 Then
   keepfocus = True
   MsgBox "Informe um valor valido !", vbInformation, "Formatando telefone"
   Exit Sub
End If
Text1.text = FormataTelefone(Text1.text)
End Sub

A função que realiza a formatação é a seguinte: ( fique a vontade para ajustá-la a seu caso...)

Function FormataTelefone(ByVal text As String) As String     
Dim i As Long

' ignora vazio
If Len(text) = 0 Then Exit Function

 'verifica valores invalidos
  For i = Len(text) To 1 Step -1
    If InStr("0123456789", Mid$(text, i, 1)) = 0 Then
       text = Left$(text, i - 1) & Mid$(text, i + 1)
    End If
  Next
  ' ajusta a posicao correta
  If Len(text) <= 7 Then
     FormataTelefone = Format$(text, "!@@@-@@@@")
  ElseIf Len(text) > 7 And Len(text) <= 9 Then
     FormataTelefone = Format$(text, "!(@@) @@@-@@@@")
  ElseIf Len(text) > 9 Then
     FormataTelefone = Format$(text, "!(@@) @@@@-@@@@")
  End If
End Function

Se o usuário não informar um valor numérico ou um valor menor que 4 caracteres -

If Not IsNumeric(Text1.text) Or Len(Text2.text) < 4 Then

o foco é mantido no controle e uma mensagem é exibida para o usuário:

keepfocus = True
MsgBox "Informe um valor valido !", vbInformation, "Formatando telefone"
Exit Sub

Se o valor estiver dentro do esperado , a função FormataTelefone é invocada e a formatação ocorre como na figura mostrada acima.

Até mais...