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

Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
30/05/2022
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

mahmut011

Altın Üye
Altın Üye
Katılım
22 Eylül 2013
Mesajlar
107
Excel Vers. ve Dili
2021 Türkçe 64-bit
Altın Üyelik Bitiş Tarihi
14.01.2029
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)
 
Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
30/05/2022
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, ",", ".")
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
REPLACE ile başlayan satır virgülü noktaya çevirir.
 

mahmut011

Altın Üye
Altın Üye
Katılım
22 Eylül 2013
Mesajlar
107
Excel Vers. ve Dili
2021 Türkçe 64-bit
Altın Üyelik Bitiş Tarihi
14.01.2029
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, ",", ".")
 
Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
30/05/2022
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

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki gibi deneyiniz.

Kod:
Sub TEST()
    Sayi = ActiveCell
    MsgBox Replace(Format(Sayi, "#,##0.00"), ",", ".")
End Sub
 
Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
30/05/2022
Sayın Korhan Ayhan;
Teşekkür ederim.
 

mahmut011

Altın Üye
Altın Üye
Katılım
22 Eylül 2013
Mesajlar
107
Excel Vers. ve Dili
2021 Türkçe 64-bit
Altın Üyelik Bitiş Tarihi
14.01.2029
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.
 
Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
30/05/2022
Merhaba mahmut011;
Tavsiyeniz için teşekkür ederim.
 
Üst