Skip to content

TCMB Günlük Kur Bilgilerini Hızlıca Alın

TCMB Günlük Kur Bilgilerini Hızlıca Alın

Bu yazımızı okuduktan sonra, birçok Excel kullanıcısının, özellikle de muhasebe, finans tarafında çalışanların çok ihtiyaç duyduğu T.C.M.B. sitesinden günlük döviz kurlarını Excel‘e hızlıca alabilirsiniz. İsterseniz tüm para birimlerini, isterseniz de hangi para birimine ihtiyacınız varsa sadece ona ait kur bilgilerini saniyeler içinde nasıl çekebiliriz onu anlatacağım.

Bildiğiniz üzere T.C.M.B. kur bilgilerini bu xml adres üzerinden dağıtıyor; https://www.tcmb.gov.tr/kurlar/today.xml
Bilgi: Geçen hafta http olan protokolü https olarak güncellendi. Biz de verileri bu xml adres üzerinden alacağız. Alacağımız tabloyu aşağıda görebilirsiniz.

İlk önce tüm listeyi Excel‘e alabileceğiniz kodları paylaşayım.

Tüm tabloyu almak için kullanacağımız düğüm burası;
Set tablom = xml.SelectNodes(“//Currency”) tüm veriler Currency altında tutuluyor.

Sub PEAKUP_TCMB_TUM_KURLAR()
Dim xml As Object, adres As String, tablom As Object, sat As Byte
Range("A2:G100") = ""
Set xml = CreateObject("MSXML2.DOMDocument")
xml.async = False
xml.validateOnParse = False
adres = "https://www.tcmb.gov.tr/kurlar/today.xml"
xml.Load adres
Set tablom = xml.SelectNodes("//Currency")
If tablom.Length = 0 Then GoTo cik:
sat = tablom.Length - 1
For i = 0 To sat
Cells(i + 2, 1) = tablom(i).ChildNodes(1).Text
Cells(i + 2, 2) = tablom(i).ChildNodes(3).Text
Cells(i + 2, 3) = tablom(i).ChildNodes(4).Text
Cells(i + 2, 4) = tablom(i).ChildNodes(5).Text
Cells(i + 2, 5) = tablom(i).ChildNodes(6).Text
Next i
cik:
Set tablom = Nothing: Set xml = Nothing: adres = vbNullString: sat = Empty
End Sub

Eğer kodları Excel‘de nereye yazılacağını bilmeyenler var ise şu yolu izleyebilirler.

  • Sayfadayken ALT+F11 tuşlarına basın.
  • Yukarıdaki menülerden Insert ve Module seçin.
  • Açılan boş beyaz pencereye kodları yapıştırın.

 

Eğer sadece EURO ve DOLAR kurlarını almak isterseniz o zaman ilgili kod satırını bu şekilde değiştirebilirsiniz.
Set tablom = xml.SelectNodes("//Currency[CurrencyName='EURO' or CurrencyName='US DOLLAR']")

Gelin bu işi biraz dinamikleştirelim, hatta kodları KTF (UDF) olarak yazalım. Yani Excel‘de yerleşik olarak bulunmayan fonksiyonları, kendimiz kodlarla fonksiyon oluşturup sayfada kullanılmasını sağlayalım.

Örneğin; Excel‘de KUR adında bir fonksiyon yok. KUR adında bir fonksiyon oluşturacağız ve istediğimiz Döviz Cinsi ile Döviz Alış, Döviz Satış, Efektif Alış, Efektif Satış gibi istediğimiz veriyi de formülde 1, 2, 3, 4 sayılarından birini yazarak dinamik olarak veriyi alacak şekilde yazalım.

Bunun için kullanacağımız kodlar oldukça kısa olacak, aslında T.C.M.B.‘den veri çekmenin de ne kadar kolay olduğunu bir göstergesidir bu.

Function KUR(ByVal cinsi As String, m As Byte) As Double
Set xml = CreateObject("MSXML2.DOMDocument")
xml.async = False
adres = "https://www.tcmb.gov.tr/kurlar/today.xml"
xml.Load adres
Set myList = xml.SelectNodes("//Currency[CurrencyName='" & Range("H1").Value & "']")
KUR = (myList(0).ChildNodes(m + 2).Text) / 10000
End Function

Şimdi kur bilgisini almak istediğimiz hücreye =KUR yazarak formülü yazmaya başlıyoruz, akabinde hangi döviz cinsini ve tipini almak istediğimizi belirtiyoruz. Sonucu yan tarafta görüyorsunuz.

Evet gördüğünüz gibi T.C.M.B. günlük kur bilgisini almak bu kadar kolay. Dikkat ettiyseniz tüm yazılarımda neredeyse her şeyin aslında ne kadar kolay olduğunu üstüne basa basa vurguluyorum. Bunu yapmamdaki amaç; bir işi bilmezseniz elbette size zor gelebilir ama hiçbir şeyi gözünüzde büyütmeyin ve her şeyin mutlaka bir kısayolu vardırı da unutmayın, onu arayın, araştırın, okuyun, özellikle de yazılarımızı kaçırmayın derim. 😀

Tüm kodların içinde olduğu örnek dosyayı, yandaki Excel logosunu 👉🏻
tıklayarak indirebilirsiniz.

EXCHANGE RATES COM EKLENTİ

Bir de dilerseniz, PEAKUP Labs ekibimizden Fatih DOĞAN‘ın çok önceden Visual Studio‘da hazırladığı ExchangeRates COM eklentisini indirip kurduktan sonra Eklentiler menüsünden bu eklentiyi kullanabilirsiniz.. Nasıl çalıştığını aşağıdaki gif resimde görebilirsiniz.

COM Eklentiyi de buradan indirebilirsiniz. 👉🏻  PEAKUP ExchangeRates

 

Faydalı olması dileğiyle, hoşça kalın. 🙋🏻‍♂️