Pak Along,

1. tentang TextBox
>> TextBox tidak dapat diset formatnya sejak awal. Textbox menampilkan data
string apa adanya.
Banyak cara untuk menghindari terpicunya event change akibat penulisan
sebuah teks dalam textbox.
salah satu caranya adalah dengan membuat pengkondisian agar proses keluar.
Misal, ketika data dalam textbox sudah terformat, maka proses harus keluar.
Jika belum, maka perlu pengerjaan berikutnya :
Private Sub TextBox1_Change()
    Dim sTxt As String
    sTxt = TextBox1.Text
    If sTxt = Format$(CDec(sTxt), "#,##0.000") Then
        Exit Sub
    End If
    Debug.Print "change"    'contoh proses yang dilakukan ketika data belum
terformat
    TextBox1.Text = Format$(CLng(TextBox1.Text & 0), "#,##0.000")
End Sub

2. Perbedaan event Init dan Activate pada userform
>> Init terpicu ketika benda userform di-load pertama kali. Kondisi
ter-load, belum tentu dalam keadaan aktif. Activate terpicu saat benda user
form diaktifkan.
Silakan buat contoh berikut :
1. buat sebuah userform (menu Insert -> Userform)
2. ganti nama userform menjadi frmTestingLah
3. double click user form dan pilih event Initialize untuk membuat prosedur
event Init (pilih di combobox kanan di lembar VBE)
4. isi dengan :
       msgbox "Init"
5. pilih event Activate untuk membuat prosedur event activate (pilih di
combobox kanan di lembar VBE)
6. isi dengan :
       msgbox "Activate"

7. buat sebuah modul (menu Insert -> Module)
8. copas 2 buah prosedur berikut :
public sub CobaUserForm1()
       frmTestingLah.show false
end sub

public sub CobaUserForm2()
       load frmTestingLah
       unload frmTestingLah
end sub

public sub CobaUserForm3()
       load frmTestingLah
       frmTestingLah.show false
end sub


9. ke worksheet (ALT   F11)
10. run macro (dari ribbon developer di xl2007 ke atas atau menu Tools ->
Macro di xl2003)
11. pilih CobaUserForm1
12. ingat-ingatlah, msgbox yang muncul apa lebih dulu dan dalam keadaan
apa, kemudian dilanjutkan msgbox yang mana dan apa keadaannya
13. jika belum ketemu bedanya, tutup userform
14. coba run macro CobaUserForm2
15. amati kali ini, kira-kira, apa bedanya ya
16. bila perlu, tutup userform dan run macro CobaUserForm3

Wassalam,
Kid.

2012/9/20 Longinus Along <[email protected]>

> **
>
>
> Dear All Master,
> Format Textbox :
>
> Private Sub Textharga_Change()
> Textharga.Text = Format(Textharga.Text, "#,##0")
> End Sub
> coding di atas pada saat lookup data melalui combobox sudah terbaca bahwa
> data tersebut sudah berubah walaupun belum di adakan perubahan.
>
> Mohon pencerahan, apakah bisa format textbox number pada saat userform di
> active kan? sehingga pada saat lookup data tidak terbaca sebagai perubahan
> angka.
>  misalnya :
>  1. Private Sub UserForm_Initialize()
>      Textharga.Text = Format(Textharga.Text, "#,##0")
>      End Sub
> 2. Private Sub UserForm_Activate()
>     Textharga.Text = Format(Textharga.Text, "#,##0")
>     End Sub
>
> kedua coding tersebut diatas tidak berfungsi, tolong di bantu ya...
>
> Dan apa pebedaan userform init dan userform active ?kalau ada sekalian
> contoh kasus perbedaan kedua coding tersebut, terimakasih.
>
> Salam,
> Along
>
>  
>
>

Kirim email ke