» » Excelde VBA ile TCMB'den İstenilen Tarihe Göre Dört Farklı Kur Değerini Almak

Excelde VBA ile TCMB'den İstenilen Tarihe Göre Dört Farklı Kur Değerini Almak
Herkese Merhaba,
Ara ara hepimizin ihtiyacı olan, istediğimiz tarihe göre özellikle USD ve EURO döviz kurlarını kullanmak isteriz. Aşağıda paylaşmış olduğum kod ile VBA aracılığı ile excel üzerinde istediğiniz tarihe göre, istediğiniz kur türünü çekebilirsiniz.
Herkese faydası olması dileğiyle,


Para Birimi Kodları:
 
USD
ABD Doları
AUD
Avustralya Doları
DKK
Danimarka Kronu
EUR
Euro
GBP
İngiliz Sterlini
CHF
İsviçre Frangı
SEK
İsveç Kronu
CAD
Kanada Doları
KWD
Kuveyt Dinarı
NOK
Norveç Kronu
SAR
Suudi Arabistan Riyali
JPY
Japon Yeni
BGN
Bulgar Levası
RON
Rumen Leyi
RUB
Rus Rublesi
IRR
İran Riyali
CNY
Çin Yuanı
PKR
Pakistan Rupisi
QAR
Katar Riyali
KRW
Güney Kore Wonu
AZN
Azerbaycan Yeni Manatı
AED
Birleşik Arap Emirlikleri Dirhemi


Örnek Kullanımlar;
=TCMB_Kur(tarih;"DovizAlis";"USD")
 
=TCMB_Kur(tarih;"DovizSatis";"EUR")

=TCMB_Kur(tarih;"EfektifAlis";"JPY")

=TCMB_Kur(tarih;"EfektifSatis";"RUB")


VBA Kodu: 
 Function TCMB_Kur(tarih As Date, cevrimTipi As Variant, paraBirimi As String) As Variant
    Dim url As String
    url = "https://www.tcmb.gov.tr/kurlar/" & Format(tarih, "yyyymm") & "/" & Format(tarih, "ddmmyyyy") & ".xml"


    Dim httpRequest As Object
    Set httpRequest = CreateObject("MSXML2.XMLHTTP")
    httpRequest.Open "GET", url, False
    httpRequest.send


    If httpRequest.Status = 200 Then
        Dim xmlDoc As Object
        Set xmlDoc = CreateObject("MSXML2.DOMDocument")
        xmlDoc.LoadXML (httpRequest.responseText)


        Dim currencyNode As Object
        Set currencyNode = xmlDoc.SelectSingleNode("//Currency[@CurrencyCode='" & paraBirimi & "']")
        If Not currencyNode Is Nothing Then
            Select Case cevrimTipi
                Case "DovizAlis"
                    TCMB_Kur = Replace(currencyNode.SelectSingleNode("ForexBuying").Text, ".", Application.DecimalSeparator)
                Case "DovizSatis"
                    TCMB_Kur = Replace(currencyNode.SelectSingleNode("ForexSelling").Text, ".", Application.DecimalSeparator)
                Case "EfektifSatis"
                    TCMB_Kur = Replace(currencyNode.SelectSingleNode("BanknoteSelling").Text, ".", Application.DecimalSeparator)
                Case "EfektifAlis"
                    TCMB_Kur = Replace(currencyNode.SelectSingleNode("BanknoteBuying").Text, ".", Application.DecimalSeparator)
                Case Else
                    TCMB_Kur = "Gecersiz Cevrim Türü"
            End Select
        Else
            TCMB_Kur = "Gecersiz Para Birimi"
        End If
    Else
        TCMB_Kur = "Veri Yok"
    End If
End Function
 
3
tcmb kur excel tcmb kur excel merkez bankası kur excel
Yazan: ggecici
247 kez okundu 22.11.23 tarihinde yayınlandı
Bilgilendirme! Cevap ve yorum yazabilmeniz için sitemizde üye kaydınızın olması gerekmektedir.