• DİKKAT

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

Sayı Formatındaki Textboxları Değiştirme

Katılım
15 Nisan 2008
Mesajlar
303
Excel Vers. ve Dili
2010
Arkadaşlar listviewe daha önce yaptığım kayıtlardan herhangi birini çift tıklayarak textboxlara alıp, sayı formatında girdiğim textboxu boş olarak bırakıp değiştirmek istediğimde eski veriler geri geliyor, değişim gerçekleşmiyor, textbox normal text formatında olduğunda problem yok. boş olarak değiştirme gerçekleşiyor, örneğin

For i = 7 To 12
sh.Cells(Satir, i) = Controls("TextBox" & i - 3)
Next i

bu şekilde problem olmuyor, yalnız

For i = 7 To 12
sh.Cells(Satir, i).Value = CDbl(Controls("TextBox" & i - 3))
Next i

şeklinde formatladığımda ilgili textboxları boş bırakarak değiştirmek istediğimde eski, veriler geri geliyor. bunu nasıl çözebilirim toplu olarak, kısacası textbox ya boş olacak yada sayı formatında olacak. yardımlarınızı bekliyorum saygılar.
 
yukarıdaki yazdığın kod bu sorunun kaynağı değil. bunlar textbox değerlerini sayfada belli hücrelere kayıt ediyor. sıkıntı textbox_change olaylarında olabilir!
 
Sayın systran, yukarıdaki şekilde yapınca düzelince bundan sanmıştım, textboxların change olaylarında formüller var örneğin

If TextBox76.Text = "" Or TextBox77.Text = "" Then: TextBox78 = ""
On Error Resume Next
TextBox78.Text = Format(CDbl(TextBox77.Value) * 10 / CDbl(TextBox76.Value), "#,##0.00")

bu şekilde, sizin elinizde cdbl olarak kaydedilmiş veriyi değiştirmek için kullanılan bir kod varmı?
 
cdbl textboxtaki değeri long tipi sayıya çevirir. sıkıntının çözümü için dosyanın bir örneğini görmek gerekir.
 
Birde textbox kayıt formatlarını cdbl olarak değiştirdikten sonra, değiştirme işleminde run time error 13 type mismatc hatası alıyordum kodların başına On Error Resume Next yazarak çözmüştüm, buna bağlı bir sorun olabilirmi.
 
üstad bakacağım azcık müsade :)
 
numarasını verdiğiniz textboxlar hangisi? ve dediğiniz bilgilerin o textboxlara yüklenmesi için ne yapmak gerekir. o adımları da yazarsanız sevinirim.
 
hocam ilgili dosyayı indirdikten sonra örneğin sutun 7 nin karşısında bulunan textbox4 ü kapsayan değiştirme kodu

For i = 7 To 16
sh.Cells(Satir, i) = Controls("TextBox" & i - 3)
Next i

bu şekilde yazarsam problem yok ama

For i = 7 To 16
sh.Cells(Satir, i).Value = CDbl(Controls("TextBox" & i - 3))
Next i

böyle yazdığım zaman mesela textbox4 'e 5 yazdık(texbox 2 de doldurulmalı kayıt için sağ üstte rapor no textboxu) ve kaydettik, daha sonra listviewden yapılan kaydı tekrar textboxa çağırdık ve yazdığımız 5 i silip değiştir butonu ile değiştirmek istediğimzde tekar 5 geliyor, sorun bu.
 
Şöyle deneyin.:cool:
Kod:
For i = 7 To 16
    If IsNumeric(Controls("TextBox" & i - 3)) Then
        sh.Cells(Satir, i).Value = CDbl(Controls("TextBox" & i - 3))
    End If
Next i
 
For i = 7 To 16
sh.Cells(Satir, i) = Controls("TextBox" & i - 3)
Next i

bunu kullanayım diyorum ama hocam hücrelerde virgüllü sayısal değerlerde metin sayıya çevir uyarısı çıkıyor(yeşil) bunu engellemek için

For i = 7 To 16
sh.Cells(Satir, i) = Controls("TextBox" & i - 3)*1
Next i


olduğu gibi hücrelerdeki uyarılar gidiyor ama yine aynı olay oluyor veri değiştirmede textbox boş olarak değiştirdiğimde eski veri geri geliyor, çözümsüz bişeymi yoksa hocam anlamadım.
 
hocam ilgili dosyayı indirdikten sonra örneğin sutun 7 nin karşısında bulunan textbox4 ü kapsayan değiştirme kodu

For i = 7 To 16
sh.Cells(Satir, i) = Controls("TextBox" & i - 3)
Next i

bu şekilde yazarsam problem yok ama

For i = 7 To 16
sh.Cells(Satir, i).Value = CDbl(Controls("TextBox" & i - 3))
Next i

böyle yazdığım zaman mesela textbox4 'e 5 yazdık(texbox 2 de doldurulmalı kayıt için sağ üstte rapor no textboxu) ve kaydettik, daha sonra listviewden yapılan kaydı tekrar textboxa çağırdık ve yazdığımız 5 i silip değiştir butonu ile değiştirmek istediğimzde tekar 5 geliyor, sorun bu.
Bu yazdıklarınızdan bir şey anlamış değilim.
Textbox4 değişiyor.Sorun yok.
 
hocam

For i = 7 To 16
sh.Cells(Satir, i).Value = CDbl(Controls("TextBox" & i - 3))
Next i

bunu kullandığımda değiştir butonunda, daha önce girilen bir veriyi silip textboxu boşaltıp boş olarak değiştirmek istediğim değişim gerçekleşmiyor, eski veri geri geliyor.

aslında kısacası sorun cdbl kullandığımda (CDbl(Textbox4) gibi) oluyor normal kullanımda sorun yok(Textbox4.Text şeklinde)
 
arkadaşlar sorunu tek textbox için

If TextBox10 = "" Then
sh.Cells(Satir, 13) = TextBox10.Text
Else
sh.Cells(Satir, 13) = CDbl(TextBox10.Text)
End If

şeklinde çözdüm ama bunu birden fazla textbox için nasıl uyarlayabilirim.

If TextBox = "" Then
For i = 7 To 16
sh.Cells(Satir, i).Value = Controls("TextBox" & i - 3)
Next i
Else
For i = 7 To 16
sh.Cells(Satir, i).Value = CDbl(Controls("TextBox" & i - 3))
Next i
End If

şeklinde yaptım ama olmadı yine metin formatında kayıt yapıyor.
 
Son düzenleme:
Aşağıdaki kodu kullanınız.:cool:
Kod:
For i = 7 To 16
    If IsNumeric(Controls("TextBox" & i - 3)) Then
        sh.Cells(Satir, i).Value = CDbl(Controls("TextBox" & i - 3))
    Else
        sh.Cells(Satir, i) = Controls("TextBox" & i - 3)
    End If
Next i
 
Hocam Hızır gibisiniz MaşaAllah, yine kurtardınız beni, çok teşekkürler, Allah sizden razı olsun.
 
Geri
Üst