YTL'kodlarında takıldım

Katılım
7 Temmuz 2004
Mesajlar
25
Merhabalar
Çalışmamda kodlarım şu şekilde:
Kod:
Private Function YTLmask(kim)
Dim a
a = Replace(kim, ",", "")
a = Replace(a, ".", "")

 If IsNumeric(a) = False Then
  YTLmask = ""
 ElseIf a < 10 Then
  YTLmask = "0,0" & a * 1
 ElseIf a < 100 Then
  YTLmask = "0," & a * 1
 ElseIf a < 1000 Then
  
    
    If Mid(a, 1, 1) = 0 Then
     YTLmask = Mid(a, 2, 1) & "," & Right(a, 2)
    End If

    If Mid(Right(kim, 2), 1, 1) = "," Then
     YTLmask = Mid(a, 1, 1) & "," & Right(a, 2)
    End If

    If YTLmask Like "*,*" = False Then
     YTLmask = Mid(a, 1, 1) & "," & Right(a, 2)
    End If

 ElseIf a < 10000 Then
  YTLmask = Mid(a, 1, 2) & "," & Right(a, 2)
 ElseIf a < 100000 Then
  YTLmask = Mid(a, 1, 3) & "," & Right(a, 2)
 ElseIf a < 1000000 Then
  YTLmask = Mid(a, 1, 1) & "." & Mid(a, 2, 3) & "," & Right(a, 2)
 ElseIf a < 10000000 Then
  YTLmask = Mid(a, 1, 2) & "." & Mid(a, 3, 3) & "," & Right(a, 2)
 ElseIf a < 100000000 Then
  YTLmask = Mid(a, 1, 3) & "." & Mid(a, 4, 3) & "," & Right(a, 2)
 ElseIf a < 1000000000 Then
  YTLmask = Mid(a, 1, 1) & "." & Mid(a, 2, 3) & "." & Mid(a, 5, 3) & "," & Right(a, 2)
 ElseIf a < 10000000000# Then
  YTLmask = Mid(a, 1, 2) & "." & Mid(a, 3, 3) & "." & Mid(a, 6, 3) & "," & Right(a, 2)
 Else
  YTLmask = Mid(a, 1, 3) & "." & Mid(a, 4, 3) & "." & Mid(a, 7, 3) & "," & Right(a, 2)
 End If
End Function
Private Sub TextBox1_Change()
TextBox1.Value = YTLmask(TextBox1.Value)
End Sub

Burada sorunum eğer veri örneğin 1.352,48 şeklinde ise textboxda doğru veriyor.Ama değer örneğin 1.253,20 şeklinde ise sondaki sıfırı tanımıyor ve textboxa 125,32 şeklinde getiriyor.Sondaki sıfırı tanımasını nasıl sağlayabilirim?
Teşekkür ederim.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
merhaba sayın lovekiller,
kodlarınızı biraz çnce kullandım hiçbir sorun yok.Kitaptaki kodlarınız da mı bir sorun var acaba?Yukarıdaki kodlar gayet güzel çalışıyor.
 
Katılım
7 Temmuz 2004
Mesajlar
25
Þöyle söyleyeyeyim
Veriler excel sayfasının birinde ve textboxlar diğer bir sayfada.Combobox tan seçtiğimiz tarihe karşılık gelen değer değer sayfasından textboxlara alınıyor.Sorun yukarıda bahsettiğim gibi son iki hanenin son hanesi "0" olduğu zaman sıfırı textboxa alamıyorum ve rakam değişerek textboxa geliyor.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
çalışmanızı yollarsanız bir göz atarım.Verilerin alındığı hücredeki formattan da kaynaklanıyor olabilir.
 
Katılım
20 Mayıs 2005
Mesajlar
48
Excel Vers. ve Dili
Excel2003 - Türkçe
Merhaba,

Excel hücresindeki YTL formatındaki bir veriyi
YTL formatlı Textbox a aktarırken ben şu yöntemi kullanıyorum.

textboxdeğeri=Format(hücreiçeriği, "#.#0,")

Yukarıda YTLmask kodları ben yazmıştım :)
programımda da aynı yöntemi kullanıyorum.

Kolay gelsin.
 
Katılım
7 Temmuz 2004
Mesajlar
25
Merhaba
Sayın biolight evet kodlar size aitti.Ben şimdi çalışmayı sadeleştirilmiş olarak burya ekliyorum.30.06.2005 tarihinde dfeğer var.Yani bu tarihi comboboxtan seçtiğimizde textboxlara değerler geliyor.
 
Katılım
20 Mayıs 2005
Mesajlar
48
Excel Vers. ve Dili
Excel2003 - Türkçe
Merhaba,
Sanırım istediğin şu şekilde
sadece değişmesi gereken kodları yazıyorum
Kod:
Private Sub TextBox1_Change()
TextBox1.Value = YTLmask(Format(TextBox1.Value, "#.#0,"))
End Sub
Private Sub TextBox26_Change()
TextBox26.Value = YTLmask(Format(TextBox26.Value, "#.#0,"))
End Sub
Private Sub TextBox27_Change()
TextBox27.Value = YTLmask(Format(TextBox27.Value, "#.#0,"))
End Sub
Kolay gelsin.
 
Katılım
7 Temmuz 2004
Mesajlar
25
Sayın Biolight
Kodlarınızı denedim ancak bu şekilde de rakamlar çok farklı gelmekte.

İlginize teşekkürler
 
Katılım
20 Mayıs 2005
Mesajlar
48
Excel Vers. ve Dili
Excel2003 - Türkçe
lovekiller' Alıntı:
Sayın Biolight
Kodlarınızı denedim ancak bu şekilde de rakamlar çok farklı gelmekte.
İlginize teşekkürler
Merhaba,
Kodları deneyip öyle yazmıştım :s
belkide soruyu ben yanlış anladım
ekli dosyada uygulaması var.
Kolay gelsin.
 
Katılım
7 Temmuz 2004
Mesajlar
25
Verdiğiniz dosyayı indirdim.İlk açtığımda çok güzel düzelmiş görünüyordu ama sayfalarda geçiş yaptığımda ve tarih comboboxından tarih seçtiğimde rakamlar değişmiş olarak karşıma çıkıyor.Değişmiş halinin ekran görüntüsü ekteki gibi.Ben bir anlam veremedim açıkçası.
 
Katılım
20 Mayıs 2005
Mesajlar
48
Excel Vers. ve Dili
Excel2003 - Türkçe
Bende (excel2000) çalışıyor sizde neden çalışmadı anlamadım.
aklıma bir şey daha geldi
Kod:
Private Sub ComboBox1_Change()
'TL TOPLAM
TextBox1 = YTLmask(Format(Sayfa4.Cells(ComboBox1.ListIndex + 8, 5), "#.#0,"))

Label1 = Sayfa4.Cells(ComboBox1.ListIndex + 8, 6)
Label1 = Format(Label1, "###,0")
Label1.TextAlign = fmTextAlignCenter 'ADET
'
'TL OLAN ARAÇLAR
TextBox26 = YTLmask(Format(Sayfa4.Cells(ComboBox1.ListIndex + 8, 3), "#.#0,"))
TextBox27 = YTLmask(Format(Sayfa4.Cells(ComboBox1.ListIndex + 8, 4), "#.#0,"))

End Sub
Bu şekilde deneyip kontrol edebilirmisiniz.
 
Katılım
7 Temmuz 2004
Mesajlar
25
Valla oldu sanırım .Umarım gerçek tabloda da problemsiz çalışır.Ellerinize ve ilginize sağlık.Çok teşekkür ederim. :bravo: :bravo: :D :D
 
Katılım
20 Mayıs 2005
Mesajlar
48
Excel Vers. ve Dili
Excel2003 - Türkçe
amma uğraştırdı beya :D
normal de ben sayfada textbox vb. kullanmaya pek alışık değilim
hep userformda kullanırım belki ondan geç çözüme ulaştık .
kolay gelsin.
 
Üst