• DİKKAT

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

textbox ondalık sayı formatının çoğaltılması

  • Konbuyu başlatan Konbuyu başlatan cems
  • Başlangıç tarihi Başlangıç tarihi

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Aslında bunaltan format diye de başlık atılması çok doğru olabilecek ve saatlerce geri dönüşe sebep olan textbox ondalık sayı formatının izahı ve düzeltilmesi hakkında basit görünen ama çok da bileşik konuda açıklamayı ;

Sayın Ömer'in şu açıklamasında rastladım :

http://www.excel.web.tr/f48/textboxtan-deoi-kene-veri-alma-hatasy-t166832.html#post910061

Kod:
Uluslararası sayı biçiminde tam tersi olan, ondalık yerine "."(nokta) binlik 
yerine ","(virgül) kullanılır. Siz textboxa hesaplama ile veri aldığınızda, 
bu yüzden ondalık bölümü "." nokta olarak geliyor. Bu değeride sayıya 
çevirirken bizim sayı biçimine uymadığı için yukarıda bahsettiğiniz hatayı
alıyorsunuz.
Bunun önüne geçmek için hesaplamayı textboxa alırken formatını 
değiştirseniz istediğiniz olur.

Bir örnek : 

Private Sub CommandButton1_Click()
    
    Dim deg As Double
   TextBox1 = Format(2 / 4, "#,##0.0")
    deg = TextBox1
    [A1] = deg
    
End Sub

Benim sorum ise ; her bir textbox için ayrı ayrı yazarak kodu uzatmak yerine , ondalık sayı getirip gönderecek sıralı 20 ya da 30 textboxu controls yolu ile userform_initialize içinde daha yazılımın başında standart gibi bir üye olarak doğru ve heryerde kullanılır olarak nasıl bir döngü yazılması gerektiğidir.
 
Son düzenleme:
Merhaba;

Userform'daki TextBox nesnesi, adından da anlaşıldığı üzere; metin kutusudur ve içindeki her türlü veri "Metin - String" cinsindendir. Dolayısıyle, bunlar Excel'in dinamik hücreleri gibi çalışmaz ve onlar gibi baştan bir kere biçimlendirip ondan sonra öylece kullanamazsınız. Sadece veriyi görsellik anlamında biçimlendirebilirsiniz.

Eğer Userform üzerinde çok fazla sayıda TextBox nesnesi varsa, o zaman Change/Exit vb uygun bir olay oluştuğunda çalışacak bir Class Module kodlaması yapılabilir.

Selamlar,


.
 
Sayın Haluk ;

Bu durumda , textboxlar ( belki de diğer araçlardan bazıları için de geçerli ) dan standart ve nerdeyse hazır bir üye yararı beklemeden , bunların enter/change/exit olayları ile konunun akışındaki beklentiye göre her birini uyarlamak gerekecek.

Aslında gözümüzün önünde bir nedeni olduğu halde bu şekilde hiç düşünmemiş, daha çok Microsoft'un bunu henüz çözmek istememiş olabileceği gibi bir duygusal yorumla geçiştirmiştim.

Bu akşam Sn . Ömer'den işlemin tutmaması ve " Type mismatch : error 13 " ün nedenini , sizden de bu tür userform araçlarından hazır işlev ummamak ama olaylarına göre tek tek ne yapacağını kodlarda söylemenin gerektiğini öğrendim .

Teşekkürlerim ve
Saygılarla
 
Geri
Üst