• DİKKAT

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

Virgülü "," Noktaya "." Dönüştür

Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Merhabalar;
Ekteki dosyada Ücret tutarı ve İkramiye tutarını girdikten sonra xml dosyasına çevirince virgülü noktaya çevirmiyor. Buradaki hata ne olabilir.
 

Ekli dosyalar

o alanın açıklamasında kuruşları girerken virgül kullanılmaması nokta kullanılması isteniyor. Yani bu excelin xml oluştururken virgülü noktaya çevirme özelliği yok. Kuruş için nokta kullanınca xml dosyasında değer noktalı olarak çıkıyor.
değerleri başka bir excelden aktarıyorsanız aktarmadan önce aşağıdaki formülle noktalı yapabilirsiniz
=NSAT(A1)&"."&SAĞDAN(NSAT(A1*100);2)
 
Merabalar mahmut011;
Gönderdiğiniz formül sorunu çözdü. Fakat öğrenmek amacı ile soruyorum.
Aşağıdaki kod virgülü noktaya çevirmek için değil mi?
Kod:
PEK = 0
       'MsgBox Val(PRIM_UCRET)
       If (IsNumeric(PRIM_UCRET)) Then
         PEK = PEK + Val(PRIM_UCRET)
       End If
       If (IsNumeric(PRIM_IKRAMIYE)) Then
         PEK = PEK + Val(PRIM_IKRAMIYE)
       End If
       PEK = Replace(PEK, ",", ".")
 
REPLACE ile başlayan satır virgülü noktaya çevirir.
 
Kodda PRIM_UCRET i toplamada kullanırken kullanılan Val() fonksiyonu PRIM_UCRET değerinin virgüle kadarki(sayı olmayan ilk karaktere kadarki) kısmını(tam kısmını) alarak toplamaya katıyordu bu nedenle ondalıklı kısımlar toplanmıyordu ve Replace fonksiyonuna verilen değerde virgül olmadığından noktaya çevrilemiyordu.(aynı durum PRIM_IKRAMİYE için de geçerli)
aşağıdaki değişiklikle PEK değeri xml dosyasında noktalı olarak elde ediliyor.(istenirse PRIM_IKRAMİYE de)
Kod:
PEK = 0

       If (IsNumeric(PRIM_UCRET)) Then
         PEK = PEK + PRIM_UCRET
       End If
       If (IsNumeric(PRIM_IKRAMIYE)) Then
         PEK = PEK + PRIM_IKRAMIYE
       End If
       PEK = Replace(PEK, ",", ".")
       'PRIM_IKRAMIYE = Replace(PRIM_IKRAMIYE, ",", ".")
 
Sayın Mahmut011;
Teşekkür ederim. sorun çözüldü.
Bir sorum daha olacak. Virgülden sonra ondalıklı kısım sıfırı olunca xml ye çevirince sıfırları almıyor. Bunun bir çözümü var mı?
Ekran görüntüsü ektedir.
 

Ekli dosyalar

  • Ekran Alıntısı.GIF
    Ekran Alıntısı.GIF
    10.3 KB · Görüntüleme: 9
Aşağıdaki gibi deneyiniz.

Kod:
Sub TEST()
    Sayi = ActiveCell
    MsgBox Replace(Format(Sayi, "#,##0.00"), ",", ".")
End Sub
 
Sayın @ozkovlu
SGK nın sitesindeki excele de baktım. belirtiğiniz kod parçası orada da aynı. Bu kod parçasının başka bir amacı da olabilir.(SGK resmi bir kurum olduğundan gereksiz kod yazmazlar)

Tavsiyem formül yardımıyla başka bir excel de virgülleri noktaya çevirip bildirge excelinde o şekilde kullanmanız.
 
Merhaba mahmut011;
Tavsiyeniz için teşekkür ederim.
 
Geri
Üst