• DİKKAT

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

Sadece son 4 haneyi almak

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,677
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Aşağıdaki kod ile kur bilgisini alıyorum.
Küsürat olarak 4 hanesini kullanmak istiyorum ama çok uzun bir sayı geliyor, düzeltmesini'de yapamadım.
Round fonksiyonunu'da denedim ama olmadı.Yardımcı olabilir misiniz.


Kod:
Function kur(veri As Date, Optional imlec As String = 0, Optional prt As String = 1) As Single

sonuc = veri * 1

If sonuc = 0 Then Exit Function

Application.Volatile

Set dnm = CreateObject("MSXML2.XMLHTTP")

gun = veri - 1

Do

a = Year(gun) & Format(Month(gun), "0#") & "/" & Replace(CStr(gun), ".", "")

baglan = "http://www.tcmb.gov.tr/kurlar/" & a & ".xml"
'baglan = "http://www.tcmb.gov.tr/kurlar/today.xml"

dnm.Open "get", baglan, False
  dnm.send
icerik$ = dnm.responseText
temizlik = Split(icerik, "<Currency CrossOrder="): a = 1
icerik$ = ""
On Error Resume Next

cr = IsError(InStr(temizlik(1), "</CurrencyName>"))

gun = gun - 1
Loop While cr = ""
x = 2

sonuclar = Split(temizlik(prt), "</CurrencyName>")

sonuclar1 = Split(sonuclar(1), "<ForexBuying>")
sonuclar2 = Split(sonuclar(1), "<ForexSelling>")

sonuc = VBA.Left(sonuclar1(1), 6)
sonuc1 = VBA.Left(sonuclar2(1), 6)

If imlec = 1 Then
kur = Format(CDbl(Replace(sonuc1, ".", ",")), "#,###.0000")
Else
kur = Format(CDbl(Replace(sonuc, ".", ",")), "#,###.0000")
End If

t1 = Left(kur, 1)
t2 = Right(kur, 4) / 10000

kur = t1 + t2

End Function
 
Erdem Bey, TCMB'nin sitesinde kurlar ($, €) zaten 4 basamaklı veriliyor.

Olduğu gibi neden almıyorsunuz?

Sitede bundan daha iyi fonksiyonlar var, ama yine de siz bilirsiniz tabii....

Kullandığınız fonksiyonu;

Function kur(veri As Date, Optional imlec As String = 0, Optional prt As String = 1) As Double

olarak değiştirip, kullanabilirsiniz.


.
 
Son düzenleme:
Haluk bey olduğu gibi geliyor ama uzun küsüratı sanırım excel kendi ekliyor. Bunu neden eklediğini bulamadım.
 
Muhtemelen o verilerin sitedeki aslı da o şekilde küsüratlı olduğu için excele o şekilde geliyordur. Kullanım sırasında excel dosyasında KUR formülünü YUVARLA formülüyle birlikte kullanabilirsiniz.
 
Geri
Üst