- 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.
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
