Merkez Bankası Günlük Kur bilgisi çekme

Onur5k

Altın Üye
Katılım
13 Şubat 2018
Mesajlar
61
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
22-04-2025
Bir excel sayfasına günlük merkez bankası sitesinden kur bilgisi çekilmek istenmektedir. Veri- Dış Veri AL - WEb'den seçenekleri ile Merkez bankasının https://www.tcmb.gov.tr/wps/wcm/connect/tr/tcmb+tr/main+page+site+area/bugun internet adresinden seçim yapılıp tabloya çekildiğinde kurlar değil sadece sitenin başındaki Banka Hakkında - Temel faaliyetler gibi bilgiler geliyor. Kur bilgisi alınamıyor.

Eski konu başlıklarını inceledim ancak Merkez Bankası internet sitesini güncellediği için verilen tüm çözümler geçersiz kalmış gibi.

İlgili sorun çözümü konusunda yardımlarınızı rica ederim.

Saygılarımla
 

Onur5k

Altın Üye
Katılım
13 Şubat 2018
Mesajlar
61
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
22-04-2025
çok yararlı oldu teşekkürler Haluk Bey. Yaptığım çalışmaya direk entegre edebileceğim bilgiler var. Ancak bir firmanın güncel borç durumu için günlük kurlara bağlı otomatik formüller var. Bu çalışmayı Verileri AL butonu ile değilde dosya açıldığında otomatik olarak güncelleyebilecek şekilde kullanma şansımız var mıdır?

Bilgilerinizi rica ederim.

SYG
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Dosyanın ThisWorkbook modülüne aşağıdaki kodu yerleştirin, dosyayı kaydedip kapatın.

Dosya açıldığında, otomatik olarak "Test" isimli makro çalışacak ve ilgili veriler alınacaktır.

Kod:
Private Sub Workbook_Open()
    Call Test
End Sub
.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
559
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Sub deneme()
Application.ScreenUpdating = False
Dim alan As Range
Cells.Clear
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.tcmb.gov.tr/kurlar/today.xml", Destination:=Range("$A$1"))
.Name = "today_1"
.Refresh BackgroundQuery:=False
End With
Range("AB1000").Value = "10000"
Range("AB1000").Copy
Set alan = Range("D3:G20")
alan.Select
For Each evn In alan
If Left(evn.Value, 2) = 10 Then
evn.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
evn.Value = CDbl(evn.Value)
ElseIf Left(evn.Value, 1) > 0 Then
evn.PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide, SkipBlanks:=False, Transpose:=False
ElseIf Left(evn.Value, 1) = 0 Then
evn.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, SkipBlanks:=False, Transpose:=False
evn.PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide, SkipBlanks:=False, Transpose:=False
End If
Next evn
Range("D25:26,D28,D30:37,D40").PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide, SkipBlanks:=False, Transpose:=False
Range("D27,D29,D38,D41").Replace What:=".", Replacement:=","
Range("D44").Value = Range("D44").Value / 100000
Range("D45").Value = Range("D45").Value / 10000
Range("D25:41").HorizontalAlignment = xlRight
Application.CutCopyMode = False
Columns("D:G").NumberFormat = "#,##0.0000"
Range("D44").NumberFormat = "#,##0.00000"
Range("D39").NumberFormat = "#,##0"
Cells.Font.Size = 8: Columns.AutoFit: Range("A1").Select
Application.ScreenUpdating = True
End Sub

Not: Kod alıntıdır.Yapanın eline sağlık
 
Üst