Textbox ondalık sayı aktarma

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
iyi akşamlar; userform ile excel sayfasına veri aktarıyorum. epey örnek inceledim ama sorunu çözemedim. userformda değerler normal görünmesine rağmen excel sayfasına Miktar ve Fiyat kısmı virgüllü olduğu zaman metin olarak aktarıyor, virgülsüz olduğunda sayı formatı olarak sorunsuz aktarıyor. bu sorunu çözemedim.
Kod:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
On Error Resume Next
If ComboBox1 <> "" And TextBox1 <> "" And TextBox2 <> "" And ComboBox2 <> "" And TextBox4 <> "" And TextBox3 <> "" And TextBox5 <> "" And TextBox6 <> "" Then

Set S1 = ThisWorkbook.Worksheets("Envanter")
sonsatir = S1.Range("B65536").End(xlUp).Row + 1
S1.Cells(sonsatir, "B") = TextBox1.Text 'Tarih
S1.Cells(sonsatir, "C") = TextBox2.Text 'Fatura No
S1.Cells(sonsatir, "D") = TextBox4.Text 'Kumaş Cinsi
If ComboBox1 = "ALIŞ" Then

S1.Cells(sonsatir, "E") = TextBox3.Text  'Giriş Miktar
S1.Cells(sonsatir, "F") = TextBox5.Text  'Fiyat
S1.Cells(sonsatir, "G") = TextBox3.Value * TextBox5.Value 'Giriş Toplam

Application.ScreenUpdating = True
MsgBox "Veri Girişi Yapıldı", vbOKOnly
ComboBox1.SetFocus
End If
End If
TextBox1.SelLength = 0
With TextBox1
.MaxLength = 10
.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection
.Text = "##.##.2017"
.SelStart = 0
.SelLength = 1
TextBox3 = Empty
TextBox5 = Empty
End With
End Sub
 
Private Sub TextBox3_Change()
If TextBox3 = "" Then TextBox3 = 0
If TextBox5 = "" Then TextBox5 = 0
miktar = TextBox3 * 1
fiyat = TextBox5 * 1
TextBox6 = Format(miktar * fiyat, "#,##0.00")
End Sub
Private Sub TextBox5_Change()
If TextBox3 = "" Then TextBox3 = 0
If TextBox5 = "" Then TextBox5 = 0
miktar = TextBox3 * 1
fiyat = TextBox5 * 1
TextBox6 = Format(miktar * fiyat, "#,##0.00")
End Sub
 

Ekli dosyalar

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,669
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
merhaba
Aşağıdaki gibi deneyin inşaallah işinizi görür
Kod:
S1.Cells(sonsatir, "E") = format(clng(cdbl(TextBox3.value)))
S1.Cells(sonsatir, "F") = format(clng(cdbl(TextBox5.value)))
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun.:cool:
Kod:
S1.cells(sonsatir,"B").numberformat="dd.mm.yyyy"
S1.Cells(sonsatir, "B") = cdate(TextBox1.Text) 'Tarih
S1.cells(sonsatir,"C").numberformat="@"
S1.Cells(sonsatir, "C") = TextBox2.Text 'Fatura No
S1.cells(sonsatir,"F").numberformat="#,##0.00"
S1.Cells(sonsatir, "F") = cdbl(TextBox5.Text)  'Fiyat
 
Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
sorunsuz çalışıyor

merhaba
Aşağıdaki gibi deneyin inşaallah işinizi görür
Kod:
S1.Cells(sonsatir, "E") = format(clng(cdbl(TextBox3.value)))
S1.Cells(sonsatir, "F") = format(clng(cdbl(TextBox5.value)))
teşekkürler, epey forum karıştırdım bu şekilde örnek görmemiştim.
 
Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
sorun çözüldü.

Buyurun.:cool:
Kod:
S1.cells(sonsatir,"B").numberformat="dd.mm.yyyy"
S1.Cells(sonsatir, "B") = cdate(TextBox1.Text) 'Tarih
S1.cells(sonsatir,"C").numberformat="@"
S1.Cells(sonsatir, "C") = TextBox2.Text 'Fatura No
S1.cells(sonsatir,"F").numberformat="#,##0.00"
S1.Cells(sonsatir, "F") = cdbl(TextBox5.Text)  'Fiyat
teşekkürler, bu kod bazı kodları kısaltmamı sağladı.
 
Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
doğru kodlar derken

Buyurun.:cool:
Kod:
S1.cells(sonsatir,"B").numberformat="dd.mm.yyyy"
S1.Cells(sonsatir, "B") = cdate(TextBox1.Text) 'Tarih
S1.cells(sonsatir,"C").numberformat="@"
S1.Cells(sonsatir, "C") = TextBox2.Text 'Fatura No
S1.cells(sonsatir,"F").numberformat="#,##0.00"
S1.Cells(sonsatir, "F") = cdbl(TextBox5.Text)  'Fiyat
doğru kod derken hikmetli laf etmişsiniz, uygulamaya geçince anladım. sizin kod doğru çalışıyor
Kod:
S1.Cells(sonsatir, "E") = format(clng(cdbl(TextBox3.value)))
bu kod excele aktarınca virgülü görmeyip tam sayıya tamamlıyor. sizin kodlar vergüllü olarak dosyaya atıyor. mümkünse bir ilave daha isteyeceğim. form üzerinde bölme işlemi yapan" TextBox12 = Format(miktar3 / fiyat, "#.##0,00") bunu sizin yöntemle nasıl değiştirebilirim. bu durumda görsellikte sorun yok ama uygulamada 999 sonrasında işlem hata veriyor. Teşekkürler
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
deneyiniz.
Kod:
TextBox12.value = Format(miktar3 / fiyat, "#[B][COLOR="Red"],[/COLOR][/B]##0[B][COLOR="red"].[/COLOR][/B]00")
 
Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
denedim sonuç değişmedi

deneyiniz.
Kod:
TextBox12.value = Format(miktar3 / fiyat, "#[B][COLOR="Red"],[/COLOR][/B]##0[B][COLOR="red"].[/COLOR][/B]00")
textbox12 dosya aktarılmıyor sadece formda görüntü olarak var, görüntüsü normal ama 1.200,60 gibi görünmesine rağmen bölme işleminde 1'ün üzerinde rakamı kabul etmiyor.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyayı ekledim.
Tam olarak ne istediğinizi anlayamadım ama anladığım kadarı ile biçimlendirmede hata vardı.Onu düzelttim.Dosya ektedir.:cool:
 

Ekli dosyalar

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
hata durumu

Dosyayı ekledim.
Tam olarak ne istediğinizi anlayamadım ama anladığım kadarı ile biçimlendirmede hata vardı.Onu düzelttim.Dosya ektedir.:cool:
mevcut kumaş ve mamül olacak ürün seçtiğimde o anda Textbox12 kumaş ve mamüldan kaç adet çıkacağını hesaplıyor. bende o adette göre imalat kaydı yapıyorum. örnekte 3248 mt kumaş ve adet 1,25 mt toplam (textbox12) 2.598 adet ürün çıkıyor. bu adedi textbox3'e yazarak kaydı tamamlamam gerekirken, hata veriyor. yani 2.598 adeti 2 olarak algılıyor.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
mevcut kumaş ve mamül olacak ürün seçtiğimde o anda Textbox12 kumaş ve mamüldan kaç adet çıkacağını hesaplıyor. bende o adette göre imalat kaydı yapıyorum. örnekte 3248 mt kumaş ve adet 1,25 mt toplam (textbox12) 2.598 adet ürün çıkıyor. bu adedi textbox3'e yazarak kaydı tamamlamam gerekirken, hata veriyor. yani 2.598 adeti 2 olarak algılıyor.
Dosyanız ektedir.:cool:
Kod:
Private Sub TextBox3_Change()
Dim miktar As Double, fiyat As Double, mamuladet As Long, fazlaadet As Long
If IsNumeric(TextBox3.Value) Then miktar = TextBox3.Value
If IsNumeric(TextBox9.Value) Then fiyat = TextBox9.Value
If IsNumeric(TextBox12.Value) Then fazlaadet = TextBox12.Value
TextBox4.Value = Format(miktar * fiyat, "#,##0.00")
If miktar > fazlaadet Then
    MsgBox "miktar : " & miktar & vbLf & "fazla adet : " & fazlaadet
    TextBox3.Value = ""
End If
End Sub
 

Ekli dosyalar

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
sorunsuz çalışıyor

Dosyanız ektedir.:cool:
Kod:
Private Sub TextBox3_Change()
Dim miktar As Double, fiyat As Double, mamuladet As Long, fazlaadet As Long
If IsNumeric(TextBox3.Value) Then miktar = TextBox3.Value
If IsNumeric(TextBox9.Value) Then fiyat = TextBox9.Value
If IsNumeric(TextBox12.Value) Then fazlaadet = TextBox12.Value
TextBox4.Value = Format(miktar * fiyat, "#,##0.00")
If miktar > fazlaadet Then
    MsgBox "miktar : " & miktar & vbLf & "fazla adet : " & fazlaadet
    TextBox3.Value = ""
End If
End Sub
Teşekkür ederim, sorunsuz çalışıyor.
 
Üst