TCMB’den kurların tamamını almaktan ziyade sadece dolar ve euro kurunu almak isteyebiliriz.
Sub kurlarigetir() Dim xml As Object Dim link As String Dim tablo As Object Dim ws As Worksheet Set xml = CreateObject("MSXML2.DOMDocument") Set ws = Sheets("SPR") xml.async = False xml.validateOnParse = False link = "https://www.tcmb.gov.tr/kurlar/today.xml" xml.Load link Set tablo = xml.SelectNodes("//Currency[CurrencyName='EURO']") If tablo.Length <> 0 Then ws.Range("ag13") = tablo(0).ChildNodes(6).Text Set tablo = xml.SelectNodes("//Currency[CurrencyName='US DOLLAR']") ws.Range("ag14") = tablo(0).ChildNodes(6).Text Else MsgBox "Kurlar revize olurken bir hata oluştu.Kurları muhakkak kontrol ediniz!" End If Set tablo = Nothing Set xml = Nothing link = vbNullString End Sub
Burada dikkat edilmesi gereken husus; “.ChildNodes(6)” ifadesi. Neden 6?
Çünkü ben ilgili kurun efektif satış rakamını almak istedim.
Döviz Alış Rakamı için .ChildNodes(3)
Döviz Satış Rakamı için .ChildNodes(4)
Efektif Alış Rakamı için .ChildNodes(5)
Efektif Satış Rakamı için .ChildNodes(6) yazılması gerekir.