textbox ondalık sayı formatı sorunu

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,501
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Bir userform üzerinde textboxlar bulunmakta ve bunlardan birinde 1 den küçük değerde sayı bulunması gerekmekte.

Bu sayı 0,60 tan 0,80 e değişmekte ve başka sayılarla etkileşerek sonuçlar çıkarmaktadır.

Sorun ; textbox üzerinde kazara 0.80 yazıldığı takdirde excele bu şekilde atmakta ve bu da işlem hatasına sebep olarak kendisinden etkilenen bir çok hücrede hataya sebep olmaktadır.

Formatını bularak yerleştirmek için sitede ve site dışında örneklere defalarca baktım uyguladım ama , bu textbox sayfadan bilgi alırken veya gönderirken nokta kullanmaya devam etti . Yani uyguladığım hiç bir format mutlak virgül ile alıp vermeyi getirmedi.

Soru ; tek başına koca bir programı bozan bu textbox'un mutlak virgülü alır ve verirken kullanmasını sağlayacak format nasıl olmalıdır.
 
Katılım
3 Aralık 2014
Mesajlar
213
Excel Vers. ve Dili
Microsoft Excel 2007
Sayın cems ; Userform initialize koduna
Kod:
Textbox1.Text = Format(Textbox1.Text,"#,##")
yazdığınız taktirde sorun çıkmaz. Textbox'a alma ve hücreye yazma işlemlerinde sıkıntı yaşamazsınız.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,501
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın TEGCreative ,

Onlarca şeklini denedim ama bunu denememiştim , sabit bilgisayara ulaşınca hemen deneyeceğim .

Teşekkür ederim . :)
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,501
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın TEGCreative ,

İlginç bir şekilde ; excel'de 0,80 olan veriyi userform 0.8 olarak aldı ve bu şekilde o textbox verisinin sonraki kayıt esnasında benzerlik yüzünden unutulduğu varsayılarak kaydete basınca 0.80 olarak excel'e atıyor ve yine başka uyarlamalardaki gibi o veri satırında etkilenen hücreler çarpımlarını ya da eksi artı işlemlerini alamadıklarından ; aynı satıra atılan yeni kayıt bozuluyor.

Kodu userform'un initialize altına ya da textboxun içine de atsam durum değişmedi.
 
Katılım
3 Aralık 2014
Mesajlar
213
Excel Vers. ve Dili
Microsoft Excel 2007
Sayın cems ; örnek dosyanızı ekler misiniz ?

Verdiğim kodu denemedim ama çok iyi hatırlıyorum şunu yapıyordu.

Örneğin;
Hücrenin veri biçimi sayı ve 2 basamaklı olarak ayarlanıp yani A sütununa yazıyorsa bunu A'ya daha sonra vba da kullanılanlar
Kod:
Hücreye Ver Commandbutton
Sheets("Sayfa1").Range("A1")= Val(Textbox1.Text)'Val Textbox'tan sayı çıkarır.Textbox normal bazda sadece metin için çalışır fakat sayı biçimlerinde kullanırken genelde ben böyle kullanıyorum.
Hücreden Al Commandbutton
Textbox1.Value = Sheets("Sayfa1").Range("A1").Value

Userform_Initialize
Textbox1.Text = Format(Textbox1.Text,"#,##")
Evet nokta olarak alıyordu veriyi hücreden ama tekrar kaydettiğinde kesinlikle noktalı kaydetmiyor buna eminim.

Sonuç olarak şuan şuna ulaştım ; dediğim gibi sorunsuz çalışıyor. Fakat her seferinde textbox a alış işlemini "." ile yapıyor. Ama sorun yok çıkışı "," olluyor ve hesaplamalarda bir sıkıntı olmuyor. Tabii textbox'un yazdığı sütun satır her neyse hücre biçiminin sayı ve 2 basamaklı olarak biçimlendirilmesi gerekiyor. Textbox içinde düzenleme yapılıp "." virgüle çevirilebilir fakat büyük rakamlarda sorun çıkacaktır bu seferde. (Örneğin 1,907.98)
 
Son düzenleme:
Üst