• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Merkez Bankasından Döviz Kurunu Excele Çekme

Katılım
16 Haziran 2007
Mesajlar
56
Excel Vers. ve Dili
2003 türçe
excel 2003 te çalışmıyor hata nerede acaba
bağlantıda bir sorun var ama bir türlü çözemedim


Sub dovizkurlaritarihsec()
Dim tarih As Date, yilay As String, gun As String

tarih = Application.InputBox(prompt:="kur tarih?", Type:=1)
yilay = Format(tarih, "yyyymm")
gun = Format(tarih, "ddmmyyyy")
On Error GoTo hata

With ActiveSheet.QueryTables.Add(Connection:= _
"http://www.tcmb.gov.tr/kurlar/" & yilay & "/" & gun & ".html", _
Destination:=Range("A1"))
.WebPreFormattedTextToColumns = False
.RefreshStyle = xlOverwriteCells
.WebSelectionType = xlEntirePage
.Refresh backgroundqurey:=False
End With
MsgBox Replace(Mid(Range("a13"), 42, 7), ".", ",", 2, 1)
hata: If Err Then MsgBox gun & "tarihine ait kur yok"

End Sub
 
.Refresh BackgroundQuery:=

bu bölümde yazım hatası var.


tabii problem farklı da olabilir. üstadlar yardımcı olur zannediyorum.
 
Bu konuda çalışma yapmış üstadların formda bulduğum ve çok işime yarıyan iki çalışmasını ekte gönderiyorum. Umarım sizinde işinize yarar.
 

Ekli dosyalar

şaşırınca bunebeeee dersiniz yaz yapışlar gerçekten :)

özellikle
kur alma dosyası mükemmelin ötesinde
gerçekten yapmışlar

çok teşekkürler
şirkette arkadaşlarla paylaştım
 
hata veriyor kur alma dosyası

01/01/2009
23/02/2010

sorgula yaptım

$ ve € döviz alış kurlarını
22/04/2009 tarihinden sonra getirmiyor

Kur kontrolünüde yapmadım
 
Belirttiğin tarihten itibaren çalışan ve bir kaç eklenti yaptığım dosya ektedir.

Merhaba.

Emeği geçenlerin eline sağlık.

Son mesajdaki ek dosyada, tanımlı sayı tipine bağlı olarak kod içinde iki defa yer alan aşağıdaki satırların aktif hale getirilmesi gerekiyor. Başlarındaki (') işareti silinerek. aksi takdirde yeni kur 2,1427 yerine 21427,0000 YTL olarak gelebilir.

With Application
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = False
End With

Sayın zeczec,
01-01-2010 ile 03-03-2010 aralığı için sorgulama yaptığımda USD için DÖVİZ alış ile EFEKTİF satış kurları aynı rakam olarak geliyor. EUR ve GBP'de doğru geliyor. Bir bakabilir misiniz?


Bu vesile ile kur değeri yabancı paranın TL cinsinden ifadesi olduğu için YTL'ye gerek bulunmamakta. YP'nin başka YP cinsinden ifadesi ise çapraz kur olduğundan ayırdedilebilir.
 
Son düzenleme:
01/01/2009
23/02/2010

sorgula yaptım

$ ve € döviz alış kurlarını
22/04/2009 tarihinden sonra getirmiyor

Kur kontrolünüde yapmadım


Merhaba.
Aslında getiriyor. fakat bir yandaki sütundan başlayarak yazıyor. getirmediği EFEKTİF SATIŞ bilgisi.
 
01/01/2009
23/02/2010

sorgula yaptım

$ ve € döviz alış kurlarını
22/04/2009 tarihinden sonra getirmiyor

Kur kontrolünüde yapmadım

Merhaba.
Aslında getiriyor. fakat bir yandaki sütundan başlayarak yazıyor. getirmediği EFEKTİF SATIŞ bilgisi.

Tekrar merhaba.
Konu çözüldü.
Şöyle ki, bağlantı yapılan web sayfasının yapısı 22/04/2009'dan itibaren değişmiş.
İlk dosyadaki kodları tarih 22/04/2009'dan küçükse kullanmak lazım. Bu ve bundan sonraki tarihlerde ise sütun değerlerini 1 artırmak lazım.

Yani kodları aşağıdaki örneğe uygun olarak değiştirmek lazım.
22/04/2009'a kadar.......22/04/2009 dahil sonrası
SK.Cells(EURO, 3............. SK.Cells(EURO, 4
SK.Cells(EURO, 4............. SK.Cells(EURO, 5
SK.Cells(EURO, 5............. SK.Cells(EURO, 6
SK.Cells(EURO, 6............. SK.Cells(EURO, 7



Yani koddaki X (tarih) değeri

If X<=21/04/2009 Then "3-4-5-6 no.lu sütunların bulunduğu kod"
Else "4-5-6-7 no.lu sütunların bulunduğu kod"

gibi bir uyarlama. (Ben bu kadar anlatabildim. anlaşılmıştır umarım.)
Bir üstadımız yardım edebilirse şahane olur.



Tabii belli aralıklar ile TCMB sitesine bağlanmak ve yapının değişip değişmediğini kontrol etmek lazım. Ve buna göre sütun sayılarını (yukarıdaki 3, 4, 5, 6 veya 4, 5, 6, 7 sayıları) kodda güncellemek gerekecek.

Bunun için, boş bir çalışma sayfasında
1) Veri -> Dış Veri Al -> Yeni Web Sorgusu
2) http://www.tcmb.gov.tr/kurlar/201002/25022010.html (veya bu formatta güncel başka bir tarih)
3) Web'den excel'e gelen verilerde Döviz Alış, D.Satış vb değerlerin kaçıncı sütunda olduğunu tespit edip koddaki yerlerini düzeltmek gerekecektir.
 
Merhaba.

Emeği geçenlerin eline sağlık.

Son mesajdaki ek dosyada, tanımlı sayı tipine bağlı olarak kod içinde iki defa yer alan aşağıdaki satırların aktif hale getirilmesi gerekiyor. Başlarındaki (') işareti silinerek. aksi takdirde yeni kur 2,1427 yerine 21427,0000 YTL olarak gelebilir.

With Application
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = False
End With

Sayın zeczec,
01-01-2010 ile 03-03-2010 aralığı için sorgulama yaptığımda USD için DÖVİZ alış ile EFEKTİF satış kurları aynı rakam olarak geliyor. EUR ve GBP'de doğru geliyor. Bir bakabilir misiniz?


Bu vesile ile kur değeri yabancı paranın TL cinsinden ifadesi olduğu için YTL'ye gerek bulunmamakta. YP'nin başka YP cinsinden ifadesi ise çapraz kur olduğundan ayırdedilebilir.



Haklısınız ben sadece sorgunun çalışması için değişikliklerimi yapmıştım biçimlendirmeyi kontrol etmedim. Şimdi onlarıda hallettim. Hatalı gelen Efektif satış kuruda düzeltildi.

İyi Günler..
 

Ekli dosyalar

Haklısınız ben sadece sorgunun çalışması için değişikliklerimi yapmıştım biçimlendirmeyi kontrol etmedim. Şimdi onlarıda hallettim. Hatalı gelen Efektif satış kuruda düzeltildi.

İyi Günler..

Teşekkürler.

21-4-2009 öncesi ve sonrası için hata devam ediyor. Önceki mesajımda belirttiğim gibi, ihtiyacı olanlar koddaki sütun değerleri ile oynayacaklar.

Bir de rakamlar X10.000 olarak geliyor. Bunu düzeltmek için de ya ilk örnekteki "/ 10000" değerli kod kullanılacak ya da 2 defa yer alan aşağıdaki kod aktif hale getirilecek. başlarındaki tek tırnak (') silinerek;

With Application
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = False
End With

yapılacak
 
Korhan Bey teşekkürler.

Buradaki dosya da 1. linkteki konudan alınmış.

1. mesajdaki dosya bende çalışmadı. 1,5 saat kadar beklememe rağmen bir sonuç üretmedi, kesmek zorunda kaldım.

İlerleyen sayfalarda aynı dosya tekrar yer alıyor. O dosyada da aynı sorun var. Tarih aralığını 21-4-2009'u kapsayacak şekilde seçerseniz, önceki tarihlerde bir sütun eksik geliyor.
 
Selamlar,

Asıl dosya sahibi kim bilmiyorum ama affına sığınarak daha önceki dosyaya birkaç ekleme yaptım ve 22/04/09 tarihinden öncesini de, sonrasını da almasını sağladım. 01.01.2005 tarihinden önce çalışmaz ancak İstenirse o da yapılabilir.
 

Ekli dosyalar

01.01.2009 VE 09.03.2010 denedim çalışıyor

Asıl dosya sahibi kim bilmiyorum ama affına sığınarak daha önceki dosyaya birkaç ekleme yaptım ve 22/04/09 tarihinden öncesini de, sonrasını da almasını sağladım. 01.01.2005 tarihinden önce çalışmaz ancak İstenirse o da yapılabilir.

çalışacağından ümidim yoktu
bugün düzeltmeleri okuyunca bir bakayım dedim

01.01.2009 tarihinden 09.03.2010 tarihine kadar sorgulattım ve bayağı hızlı
döviz kurlarını kontrol ettim 5 - 6 ayrı tarihler baktım sorun yoktu

yapanların ve yardımcı olanların emeğine sağlık
 
dosyayı güncellermisiniz

Asıl dosya sahibi kim bilmiyorum ama affına sığınarak daha önceki dosyaya birkaç ekleme yaptım ve 22/04/09 tarihinden öncesini de, sonrasını da almasını sağladım. 01.01.2005 tarihinden önce çalışmaz ancak İstenirse o da yapılabilir.

merkez bankası yine değişiklik yapmış
bazı yerlerde başka şeyler çıkıyor onu yeniden güncelleyebilirmisiniz
bayağı faydalı bir tablo
 
Merhaba

09/04/2010 sonrası için güncellendi.
 

Ekli dosyalar

Geri
Üst