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ı:
Örnek Kullanımlar;
VBA Kodu:
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
22.11.23 tarihinde yayınlandı
724 kez okundu Bilgilendirme! Cevap ve yorum yazabilmeniz için sitemizde üye kaydınızın olması gerekmektedir.