TextBox'ları Sayı Olarak Nasıl Formatlarız?
Userformumuzdaki textbokları textbox'un Change olayına
- Kod: Tümünü seç
Private Sub TextBox1_Change()
TextBox1.Value = Format(TextBox1.Value, "###,###")
End Sub
ya da
- Kod: Tümünü seç
Private Sub TextBox1_Change()
TextBox1 = Format(TextBox1, "###,0")
End Sub
kodlarını yazmak suretiyle seçildiği anda binlik ayracı yazacak ya da ondalık hanesini belirtecek şekilde düzenleyebiliriz. Ama dikkat etmemiz gereken bir nokta var. Bu haliyle textboxların value değerlerini toplatmak istediğinizde toplama işlemi yapamayacaksınız demektir. Çünki adı üzerinde textbok'un anlamı metin kutusu. yazdığınız rakamlar metin olarak algılanacaktır. "+" işleci her ne kadar matematiksel bir işleç olsa da bazı alanlarda "&" işlecinin vazifesi olan birleştirme görevini görür. TextBox1 ve TextBox2 ye yazdığımız rakamların TextBo3'te toplamak istediğimizde bu iki değerin birleştirildiğini, toplanmadığını göreceksiniz.
Şimdi bu sorunu nasıl aşacağız. Bunun yolu Büyük sayı (Double) olarak iki değişken tanımlamak ve textbokların value değerlerini tanımladığımız değişkene aktarmak
Bir UserForm oluituralım ve üzerine 3 adet TextBox nesnesi ve 1 adet CommandButton nesnesi yerleştirin.
Şimdi
CommandButton1 nesnesinin Click yordamına
- Kod: Tümünü seç
Private Sub CommandButton1_Click()
Dim s1 As Double
Dim s2 As Double
s1 = TextBox1.Value
s2 = TextBox2.Value
TextBox3 = s1 + s2
End Sub
Textbox1 nesnesinin
Change yordamına
- Kod: Tümünü seç
Private Sub TextBox1_Change()
TextBox1 = Format(TextBox1, "###,0")
End Sub
Textbox2 nesnesinin
Change yordamına da
- Kod: Tümünü seç
Private Sub TextBox2_Change()
TextBox2 = Format(TextBox2, "###,0")
End Sub
kodlarını yazalım. Şimdi formumuzu çalıştırıp textboxlara değerlerimizi girip CommandButton1 nesnesine tıkladığımızda toplama işleminin gerçekleştiğini göreceksiniz.