• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Textbox , Ondalık Sayı Formatı Hakkında

Katılım
8 Aralık 2011
Mesajlar
964
Excel Vers. ve Dili
Excel 2016,32bit
Merhabalar,
Userformda değerler normal görünmesine rağmen excel sayfasına , Textbox'a virgüllü olduğu zaman metin olarak aktarıyor, virgülsüz olduğunda sayı formatı olarak sorunsuz aktarıyor. Bu da hesaplamalarımda yanlış sonuçlara sebebiyet vermekte:-( Textboxlardan , excele aktarma kodlarım şöyle ;

Kod:
Private Sub CommandButton4_Click()

With Sheets("AL")
Satır = .Range("B65536").End(3).Row + 1 ' a sütunundaki son dolu satırı bulup bir sonraki satıra aşağıdaki işlemi yapar


Sheets("AL").Range("B3").Value = TextBox1.Value
Sheets("AL").Range("D3").Value = TextBox2.Value
Sheets("AL").Range("B4").Value = TextBox3.Value
Sheets("AL").Range("D4").Value = TextBox4.Value
Sheets("AL").Range("B5").Value = TextBox5.Value
Sheets("AL").Range("D5").Value = TextBox6.Value
Sheets("AL").Range("B6").Value = TextBox7.Value
Sheets("AL").Range("D6").Value = TextBox8.Value
End Sub

Forumda yapmış olduğum araştırma neticesinde şu şekilde bir düzenleme yapmaya çalıştım fakat yine olmadı.
Kod:
Sheets("AL").Range("B3").NumberFormat = "#,##0.00"
Sheets("AL").Range("B3").Value = CDbl(TextBox1.Text)

Sheets("AL").Range("D3").NumberFormat = "#,##0.00"
Sheets("AL").Range("D3").Value = CDbl(TextBox2.Text)

Yaklaşık 120 adet Textbox nesnesi var.
 
Kod:
Private Sub UserForm_Initialize()
TextBox1.Text = Format(TextBox1.Text, "#,##")
TextBox2.Text = Format(TextBox2.Text, "#,##")
End Sub

Bu şekilde de olmadı, nerede yanlış yapıyorum:???:
 
Merhaba,

Textbox nesnesinde sıkça karşılaşılan bir durumdur.

Textboxlara virgül yerine nokta yazarsanız ondalıklı değerler doğru olarak hücreye aktarılacaktır. Ya da kod içinde bu durumu hallederek hücreye aktarım yapabilirsiniz.

Örnek;

Kod:
Private Sub CommandButton1_Click()
    Range("A1").Value = Replace(TextBox1.Value, ",", ".")
End Sub
 
"CDbl" dönüşümü de istediğinizi yapacaktır.


Test:


Kod:
[a1] = CDbl(TextBox1.Text)
 
Sayın Korhan ve Zeki Bey,
İlginize çok teşekkür ederim. Korhan Bey'in önerisini tüm textboxlar için değiştiriyorum. Deneme sayfamda denedim oldu gibi:bravo::bravo::mutlu::mutlu:
 
Sayın Korhan ve Zeki Bey,
İlginize çok teşekkür ederim. Korhan Bey'in önerisini tüm textboxlar için değiştiriyorum. Deneme sayfamda denedim oldu gibi:bravo::bravo::mutlu::mutlu:

Zeki beyinki yabana atılacak cinsten değil.Ben onu kullanıyorum.
 
Private Sub CommandButton1_Click()
RowCount = Worksheets("verigiris").Range("a1").CurrentRegion.Rows.Count
With Worksheets("verigiris").Range("a1")
.Range("c1").Value = ComboBox1.Value
.Range("c2").Value = ComboBox2.Value
.Range("c3").Value = TextBox1.Value
.Range("c4").Value = TextBox2.Value
.Range("c6").Value = TextBox3.Value
.Range("b7").Value = ComboBox3.Value
.Range("b8").Value = ComboBox4.Value
.Range("b9").Value = ComboBox5.Value
.Range("b10").Value = ComboBox6.Value
.Range("b11").Value = ComboBox7.Value
.Range("c13").Value = ComboBox8.Value
.Range("c14").Value = ComboBox9.Value
.Range("E4").Value = TextBox4.Value
.Range("E5").Value = TextBox5.Value
.Range("E6").Value = TextBox6.Value
.Range("E7").Value = TextBox7.Value
.Range("E8").Value = TextBox8.Value
.Range("E9").Value = TextBox9.Value
.Range("G5").Value = TextBox10.Value
.Range("G6").Value = TextBox11.Value
.Range("G7").Value = TextBox12.Value
.Range("G8").Value = TextBox13.Value
.Range("G9").Value = TextBox14.Value
Unload Me

MsgBox "Veriler tabloda ilgili yerlere aktarıldı.", vbOKOnly + vbInformation, "U Y A R I"

End With

End Sub


şeklinde başlangıç aşamasında olan bir KAYDET butonum var, daha epey bi textbox ekleyeceğim, tüm textbox'lara ise sayı girişi yapılacak ve bu sayılar excel sayfasında ilgili yerlere aktarıldığında excel hesaplama yapacak.
Bu hali ile verileri ilgili excel hücrelerine girdiğim şekilde aktarıyorum, ben textbox'a ondalık ayracı olarak (,) ile giriş yapılabilsin istiyorum.
Bunun tüm textboxlara ve bundan sonra ekleyeceğim textboxlara uygulanmasını nasıl sağlarım.

Yukarıdaki verilen kodu nereye yazmalıyım.

Saygılarımla....
 
Geri
Üst