TextBox sayı formatı kuruş hatası (ÇÖZÜLDÜ)

Katılım
13 Ekim 2017
Mesajlar
178
Excel Vers. ve Dili
2003-tr
Altın Üyelik Bitiş Tarihi
13/02/2019
Merhaba arkadaşlar;

Sayfa1'deki belli bir aralığı aşağıdaki kod ile toplatıp UserForm'daki TextBox'a yazdırıyorum. 1029,15 rakamını - 1.029,15 olarak göstermesini istiyorum. Ama Val ve format komutuyla denediğimde 1.029,00 -- CDBL komutuyla denediğimde 102.915,00 gösteriyor. İnternet de ne kadar konu varsa araştırdım ve önerilen çözümleri denedim ama sonuca ulaşamadım. Yardımlarınızı bekliyorum.

Şimdiden teşekkürler.

Kullandığım kodlar:
Kod:
For say = 6 To son_ihr
If Sheets(a).Range("G" & say).Value = IadeGirisi.TextBox3.Text Then
    tpl = tpl + Sheets(a).Cells(say, "K").Value
    tpl2 = tpl2 + Sheets(a).Cells(say, "M").Value
Else
End If
Next
Dim tbl As Double, tpl2 As Double
TextBox19.Value = TextBox3.Text
TextBox17.Value = Val(tpl)
TextBox18.Value = Val(tpl2)
TextBox17 = Format(TextBox17, "#,##0.00")
TextBox18 = Format(TextBox18, "#,##0.00")
 
Son düzenleme:

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,767
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Çözüm Round operatör olay yordamı
kırmızı bölüm ondalık sayıyı ifade ediyor.

Kod:
tpl = tpl + Round(Sheets(a).Cells(say, "K").Value, [COLOR="red"]2[/COLOR]) * 1
tpl2 = tpl2 + Round(Sheets(a).Cells(say, "M").Value, [COLOR="Red"]2[/COLOR]) * 1

TextBox17 = Format(tpl, "#,##0.00")
TextBox18 = Format(tpl2, "#,##0.00")
 
Katılım
13 Ekim 2017
Mesajlar
178
Excel Vers. ve Dili
2003-tr
Altın Üyelik Bitiş Tarihi
13/02/2019
Hocam tam istediğim gibi olmuş. Sayenizde bunu da öğrenmiş oldum.Tekrardan elinize sağlık. Bir soru daha sormak istiyorum. Aşağıdaki kod ile Excel çalışmama sayfa oluşturuyorum. Ama kod çok yavaş çalıştığında en aşağı 1-2 dk beni bekletiyor. Acaba bunu hızlandırmanın bir yolu var mı?

Kodun mantığı şu; J'de firma isimleri var. I'ya X işareti koyarsam Her X işareti için bir sayfa oluşturuyor. Sayfa ismini de L'den alıyor. Ben aralara mükerrer sayfa kaydı vb. hatalar için önlem kodları koydum. Ama çok yavaş işliyor. Progress Bar koyum dedim, sayfa işlem yaparken kitlenmiş gibi oluyor ve progress bar da işe yaramıyor.

Kod:
Sub SAYFA_OLUSTUR()
Dim mesaj As VbMsgBoxResult
Dim SAYFA_ADI As Variant, ilk As Variant, son As Variant
Dim v As Variant, a As Variant, b As Variant, ara As Variant
Dim s_ilk As Variant, s_son As Variant, mesaj2 As VbMsgBoxStyle
Dim y As Integer, c As Variant, d As Variant, k As Variant
Dim x As Variant, son2 As Integer, i As Integer
Dim ad_yaz As Integer

mesaj = MsgBox("Sayfa oluşturmak istiyor musunuz?", vbYesNo + vbQuestion, "SAYFA OLUŞTUR")

Select Case mesaj

Case Is = vbYes
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next

ilk = 2
son = Range("J" & Rows.Count).End(4).Row
a = Worksheets.Count
    
Range("A:B").ClearContents

If Not sayfa1.CheckBox1 = True Then GoTo atla
Range("A1").Value = "İhraç-2017-" & Range("M2").Value & " VD"
Range("B1").Value = "=SAYFAVAR(A1)"
If Range("B1") = True Then
mesaj2 = MsgBox("İhraç-2017-" & Range("M2").Value & " VD Sayfası Zaten Var!", vbOKOnly + vbExclamation, "UYARI!")
GoTo atla
Else
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "İhraç-2017-" & Range("M2").Value & " VD"
Call İhr_Dönem_Sayfası_Oluşturma
End If

atla:
Set ara = Range("H2:H65536").Find("X", , xlValues, xlWhole)
If ara Is Nothing Then GoTo atla3
atla3:
Set ara = Range("H1:H65536").Find("x", , xlValues, xlWhole)
If ara Is Nothing Then
mesaj2 = MsgBox("Oluşturulacak sayfa işaretlenmemiş! İşaretleyip tekrar deneyin.", vbOKOnly + vbExclamation, "UYARI!")
Range("A:B").ClearContents
Exit Sub
End If

For v = 2 To son
If Range("H" & ilk).Value = "x" Then
Range("H" & ilk).Value = "X"
End If
    For y = 2 To son
    If Not Range("H" & ilk).Value = "X" Then GoTo atla4
    ad_yaz = Range("A" & Rows.Count).End(xlUp).Row
    SAYFA_ADI = Range("L" & ilk).Value
    Range("A" & ad_yaz + 1).Value = SAYFA_ADI & "_İhr"
    Range("B" & ad_yaz + 1).Value = "=SAYFAVAR(A" & ad_yaz + 1 & ")"
    If Range("B" & ad_yaz + 1) = True Then
    mesaj2 = MsgBox(SAYFA_ADI & "_İhr Sayfası Zaten Var!", vbOKOnly + vbExclamation, "UYARI!")
    GoTo atla2
    Else
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Name = SAYFA_ADI & "_İhr"
        Call İhracat_Sayfa_Oluştur
    End If
atla2:
    Range("A" & ad_yaz + 2).Value = SAYFA_ADI & "_Gümrük"
    Range("B" & ad_yaz + 2).Value = "=SAYFAVAR(A" & ad_yaz + 2 & ")"
    If Range("B" & ad_yaz + 2) = True Then
    mesaj2 = MsgBox(SAYFA_ADI & "_Gümrük Sayfası Zaten Var!", vbOKOnly + vbExclamation, "UYARI!")
    GoTo atla4
    Else
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Name = SAYFA_ADI & "_Gümrük"
        Call Gümrük_Sayfası_Oluştur
    End If
atla4:
ad_yaz = ad_yaz + 2
ilk = ilk + 1
Next y
Next v

If Worksheets.Count > a Then
mesaj = MsgBox("Sayfa oluşturma başarıyla tamamlanmıştır", vbOKOnly + vbInformation, "SAYFA OLUŞTURMA")
sayfa1.Select
Call ListBox_Güncelle
Range("A:B").ClearContents
Else
mesaj = MsgBox("Sayfa oluşturma işlemi iptal edilmiştir", vbOKOnly + vbExclamation, "HATA!")
sayfa1.Select
Call ListBox_Güncelle
Range("A:B").ClearContents
End If

Case Is = vbNo

End Select
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kullandığınız kodu F8 tuşu ile adım adım çalıştırın ve yavaşlığa sebep olan bölümü tespit edin. Sonra yavaş çalışan bölümü irdeleyin.
 
Katılım
13 Ekim 2017
Mesajlar
178
Excel Vers. ve Dili
2003-tr
Altın Üyelik Bitiş Tarihi
13/02/2019
EDİT: Öneriniz sayesinde hatayı buldum ve düzelttim. Şimdi 10 kat daha hızlı çalışıyor :) Tekrardan teşekkürler.
 
Son düzenleme:
Üst