Lanjut dari http://rani-irsan.blogspot.com/2013/02/vb6-input-numeric-only.html

Langkah selanjutnya kita ingin membuat pemisah ribuan dan 2 angka dibelakang koma dengan tetap menjaga nilai yang ada di textbox tetap berupa numerik.
(catatan: format international 1,000.00)

Tambahkan 1 control lagi untuk mendemonstrasikan event lost focus.

Code berikut untuk mengisi nilai Text1, agar nilai nya berupa karakter numerik.
Private Sub Form_Load()
Text1.Text = 0
Text1.Text = Format(Text1.Text, "#,##0.#0")
Text1.SelStart = Len(Text1.Text)
End Sub


Code berikut untuk mengubah format numerik saat event lost focus (kehilangan fokus)
Private Sub Text1_LostFocus()
Text1.Text = Format(Text1.Text, "#,##0.#0")
Text1.SelStart = Len(Text1.Text)
End Sub


Code berikut untuk memastikan input nilai numerik (double) saat event got focus (mendapatkan fokus)
Private Sub Text1_GotFocus()
Text1.Text = CDbl(Text1.Text)
Text1.SelStart = Len(Text1.Text)
End Sub


Code berikut untuk memastikan perubahan data selalu bernilai numerik, terutama jika data tidak diinput dengan mengetik, misal: copy paste.
Private Sub Text1_Change()
If Not IsNumeric(Text1.Text) Then
   Text1.Text = 0
   Text1.SelStart = Len(Text1.Text)
   Exit Sub
End If
End Sub


That's all for today, semoga bermanfaat.

Click here if you like this article.