• DİKKAT

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

textboxların değerini sayı formatına çevirme

Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
selamlar,

userform üzerinden veri girişi yaparak bu verileri excel sayfasına kayıt ediyorum. kayderken kullandığım kodlarda aşağıdaki gibi bir döngü kurdum,

Kod:
.....
sonsat = [a65536].End(3).Row + 1
For x = 1 To 78
Sheets("veri2").Cells(sonsat, x) = Controls("TextBox" & x)
Next
....
78 adet textbox taki veriyi son dolu satıra yan yana kayıt edilmesini sağlıyor.
ancak şöyle bir sorunum var.
textboxlardaki veriler hücreye metin formatında yazılıyor. halbuki textboxların bir kısmıyla metin , bir kısmıyla sayı formatında veriler girilmekte.

14,19,24,29,34,39,44,49,54,59,64,69 ve 74 ile
16,21,26,31,36,41,46,51,56,61,66,71 ve 76 nolu textboxlara rakamsal veriler girilmektedir.

bu veriler metin formatında excel kayıt edildiğinde topla formulü çalışmamaktadır.

bu sorunu kısa yoldan nasıl çözebilirim değerli üstadlar???
 
Aşağıdaki gibi deneyin.

Kod:
[LEFT].....
sonsat = [a65536].End(3).Row + 1
For x = 1 To 78
deg=controls("textbox" & x)
if isnumeric(deg)=true then deg=cdbl(controls("textbox" & x))
Sheets("veri2").Cells(sonsat, x) = deg
Next
....[/LEFT]
 
Sn. Levent Bey,

cevabınız için çok teşekkürler. ancak daha önce öngöremediğim bir sorunla karşılaştım. bu textboxlardan bazılarına veri girişi tarih olarak yapılmaktaydı. kodu bu şekilde değiştirdiğimiz zaman tarih formatında olanları da sayıya çevirmiş oldu. yani veri "21.12.2005" ise onu "21122005" şekline getirdi.

bu sorunu nasıl çözebiliriz??

saygılar.
 
değerli üstadlarım,

bu konuda yapılabilecek bir şey var mıdır acaba?? ben düşündüm ama bir çözüm üretemedim. değerli fikirlerinizi bekliyorum...
 
Selamlar,

Kullandığınız kodu aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    sonsat = [a65536].End(3).Row + 1
    For x = 1 To 78
    If IsDate(Controls("textbox" & x)) = True Then
    deg = CDate(Controls("textbox" & x))
    Else
    deg = Controls("textbox" & x)
    End If
    If IsNumeric(deg) = True Then deg = CDbl(Controls("textbox" & x))
    Sheets("veri2").Cells(sonsat, x) = deg
    Next
End Sub
 
Sn. Cost_Control üstadım,

çok teşekkür ediyorum, dediğiniz şekilde sorunum çözüldü.
:icelim::icelim::icelim:

saygılar.
 
Geri
Üst