• DİKKAT

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

Web Üzerinden Döviz Kuru Sorgusu

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,773
Excel Vers. ve Dili
Excel 2019 Türkçe
Arkadaşlar merhaba,
Döviz kuru sorgusu yaptığım fonksiyonda hata alıyorum. Kurların alındığını tablo ile ilgili bir sıkıntı olabileceğini düşünüyorum. Sorunu nasıl halledebilirim ?

Teşekkürler...

Kod:
Function KurX(veri As Date, DovizCinsi As Variant, DovizKuru As Variant)

Application.Volatile
'-----------Ben ekledim-------------------



'        If DovizCinsi = "Usd" Then
'            DovizCinsi = 1
'        ElseIf DovizCinsi = "Eur" Then
'            DovizCinsi = 4
'        ElseIf DovizCinsi = "Gbp" Then
'            DovizCinsi = 5
'        End If


        If DovizKuru = "Döviz Alış" Then
            DovizKuru = "<ForexBuying>"
        ElseIf DovizKuru = "Döviz Satış" Then
            DovizKuru = "<ForexSelling>"
        ElseIf DovizKuru = "Efektif Alış" Then
            DovizKuru = "<BanknoteBuying>"
        ElseIf DovizKuru = "Efektif Satış" Then
            DovizKuru = "<BanknoteSelling>"
        End If

    '----------------------------------------

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(DovizCinsi * 1), "</CurrencyName>"))

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


sonuclar = Split(temizlik(DovizCinsi * 1), "</CurrencyName>")
sonuclar1 = Split(sonuclar(1), DovizKuru)

Sonuc = VBA.Left(sonuclar1(1), 6)


KurX = CDbl(Replace(Sonuc, ".", ","))

End Function
 
Çözümü buldum. Aşağıdaki linkte mevcut. Erdem_34 arkadaşımıza teşekkür ederim
 
Geri
Üst