• 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

hocam çok teşekkürler çok işime yaradı Reelde birçok arkadaşımla paylaşırım ben
Değilmi ama bilgi paylaştıkça güzeldir
bu tür kod veren siteler var ama biliyorsunuz önce güvenmek gerek
her kodu çalıştırmak tehlikeli olabiliyor
ben gerçekten güvendim hocalarıma bir çoğunu da lazım olmamasına ragmen denedim
gerçekten çok başarılı gereken notlarımı aldım daha sonra kullanabilmek üzere
inşallah bir gün bende yardımcı olmaya başlıcam
şimdilik bilgi depoluyorum
tekrar çok sağolun emeğinize sağlık
 
yanlız bi şey danışmak istiyorum. Hesaplama sayfasını aynen başka bir excel dosyasında kullanmak istiyorum. Bunun için ne gibi bir değişiklik yapmam gerekiyor?
Sayfayı kopyala-taşı dedikten sonra VBA kodlarıyla ilgili bir şeyde yapmak gerekiyor sanırım. VBA'dan çok anlamıyorum o nedenle yardımcı olursanız sevinirim.
 
sayın; zeczec benim sizden biraz özel isteğim olacak kur alma dosyasındakini iki tarih aralığı değilde sadece istediğim tarihte alsam ve efektife filan ihtiyacım yok sadece dolar alış-satış ve eur alış-satış bilgileri yeterli bana bunları excel e yayacak olursak

a5 hücresine tarih girmek istiyorum
a7 hücresine dolar alış b7 hücresine ise dolar satış
a9 hücresine eur alış b9 hücresine ise eur satış

bu şekilde bir dosya gönderebilirmisin rica etsem

ayrıca benim girdiğim tarihden bir gün öncesinin kurunu getirtebilirseniz süper olur bilindiği üzere yarının kuru bugünün kapanış kuru olduğundan bir gün öncesini istemekteyim örn; 25/08/2010 yazdığımda 24/08/2010 tarihinin kuru aslında 25/08/2010 un kurudur
 
Son düzenleme:
Selamlar,

Ekteki örnek dosyayı incelermisiniz.

sayın; zeczec benim sizden biraz özel isteğim olacak kur alma dosyasındakini iki tarih aralığı değilde sadece istediğim tarihte alsam ve efektife filan ihtiyacım yok sadece dolar alış-satış ve eur alış-satış bilgileri yeterli bana bunları excel e yayacak olursak

a5 hücresine tarih girmek istiyorum
a7 hücresine dolar alış b7 hücresine ise dolar satış
a9 hücresine eur alış b9 hücresine ise eur satış

bu şekilde bir dosya gönderebilirmisin rica etsem

ayrıca benim girdiğim tarihden bir gün öncesinin kurunu getirtebilirseniz süper olur bilindiği üzere yarının kuru bugünün kapanış kuru olduğundan bir gün öncesini istemekteyim örn; 25/08/2010 yazdığımda 24/08/2010 tarihinin kuru aslında 25/08/2010 un kurudur
 

Ekli dosyalar

Merhaba

--------------------------------------------------------------------------------

09/04/2010 sonrası için güncellendi.
Eklenmiş Dosyalar KUR ALMAson2.xls (146.5 KB, 68 Görüntülenme)

ÇARPAZ KURLARINDA GETİRİLMESİ MÜMKÜNMÜ
 
kuralmason2.xls acemiden soru var.. :)

Meerhaba..

Excelde fiyat listem var. ilk sheet de T.C.M.B. Döv. Sat. Kur USD, EURO ve USD/EURO Parite gerekli. Ancak sizden aldığımı nasıl kendi fiyat listeme taşıyacağımı bulamadım. kopyalayıp yapıştırsam sizden aldığım xls dosyayı da arıyor.

Aceminin elinden tutacak bir usta arıyorum. :)
 
Serdarsari kardeş, şimdiden çok teşekkür ederim. :redface:

Dosyayı umarım ekleyebilmişimdir.
 

Ekli dosyalar

  • wef.rar
    wef.rar
    69.8 KB · Görüntüleme: 34
Sadece mühendislik ve işçilik + muhendislik yazan alanlarda USD, EURO ve PARİTE yazan kolonlarda o günkü kurun satış cinsinden değerini otomatik olarak yazdırmak istiyorum. satıştaki arkadaşın sadece tarih girip sorgulama yapması gerekecek. :) Şimdiden teşekkürler.
 
Ustam merhaba ellerine sağlık ama ben bu örnekteki kur getirmeyi başka bir dosyada yapmak istiyorum ama formülü göremediğim içim sheetleri değiştiremediğimde yapamadım. Bu bana izah edebilirmisin.
 
cevap

modül kullanılmıştır
sayfanın üstünde sag klik yapıp kodu görüntüleyin
Sub SORGULA()
Application.ScreenUpdating = False
Set SR = Sheets("Summary")
SR.Select
If [B1] = "" Then MsgBox "LÜTFEN İLK TARİHİ GİRİNİZ !", vbExclamation, "DİKKAT !": [B1].Select: Exit Sub
If [B2] = "" Then MsgBox "LÜTFEN SON TARİHİ GİRİNİZ !", vbExclamation, "DİKKAT !": [B2].Select: Exit Sub
If [B2] < [B1] Then
MsgBox "SON TARİH İLK TARİHTEN KÜÇÜK OLAMAZ !" _
& Chr(10) & Chr(10) & "LÜTFEN GİRDİĞİNİZ BİLGİLERİ KONTROL EDİNİZ.", vbCritical, "DİKKAT !"
[B2].ClearContents
[B2].Select
Exit Sub
End If

[A6:O65536].ClearContents

On Error Resume Next

Application.DisplayAlerts = False
Sheets("KURLAR").Delete
Application.DisplayAlerts = True

Sheets.Add
Sayfa_Adı = "KURLAR"
ActiveSheet.Name = Sayfa_Adı
Set SK = Sheets(Sayfa_Adı)

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

SR.Select
BEKLEME.Show

For X = SR.[B1] To SR.[B2]
If X > Date Then Exit For
KONTROL = Weekday(X, vbMonday)
If KONTROL > 5 Then
y = X - (KONTROL - 5)
Else
y = X
End If

On Error Resume Next

URL1 = "URL;http://www.tcmb.gov.tr/kurlar/" & Year(y) & Format(Month(y), "00") & "/" & Format(Day(y), "00") & Format(Month(y), "00") & Year(y) & ".html"

With SK.QueryTables.Add(Connection:=URL1, Destination:=SK.Range("A1"))
.Name = y
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With

SATIR = SR.[A65536].End(3).Row + 1

If SK.[A1] <> "" Then
EURO = SK.[A:A].Find(What:="EUR/TRY", LookAt:=xlPart).Row
USD = SK.[A:A].Find(What:="USD/TRY", LookAt:=xlPart).Row
GBP = SK.[A:A].Find(What:="GBP/TRY", LookAt:=xlPart).Row
EURUSD = SK.[A:A].Find(What:="EUR/USD", LookAt:=xlPart).Row
GBPUSD = SK.[A:A].Find(What:="GBP/USD", LookAt:=xlPart).Row

If y < 39925 Or y > 40276 Then
q1 = 3: q2 = 4: q3 = 5: q4 = 6

Dim j, k, p, s, l()
p = "": k = Len(SK.Cells(EURUSD, 3))
ReDim l(k)
For j = 1 To k
l(j) = Mid(SK.Cells(EURUSD, 3), j, 1)
If l(j) = "0" Or l(j) = "1" Or l(j) = "2" Or l(j) = "3" Or l(j) = "4" Or l(j) = "5" Or l(j) = "6" Or l(j) = "7" Or l(j) = "8" Or l(j) = "9" Or l(j) = "." Or l(j) = "," Then
l(j) = l(j)
Else
l(j) = ""
End If

If l(j) = "," Then
l(j) = "."
End If

p = p & l(j)
Next

s = "": k = Len(SK.Cells(GBPUSD, 3))
ReDim l(k)
For j = 1 To k
l(j) = Mid(SK.Cells(GBPUSD, 3), j, 1)
If l(j) = "0" Or l(j) = "1" Or l(j) = "2" Or l(j) = "3" Or l(j) = "4" Or l(j) = "5" Or l(j) = "6" Or l(j) = "7" Or l(j) = "8" Or l(j) = "9" Or l(j) = "." Or l(j) = "," Then
l(j) = l(j)
Else
l(j) = ""
End If

If l(j) = "," Then
l(j) = "."
End If

s = s & l(j)
Next

Else
q1 = 4: q2 = 5: q3 = 6: q4 = 7
p = SK.Cells(EURUSD, 4)
s = SK.Cells(GBPUSD, 4)
End If

SR.Cells(SATIR, 1) = X
SR.Cells(SATIR, 2) = SK.Cells(USD, q1)
SR.Cells(SATIR, 3) = SK.Cells(USD, q2)
SR.Cells(SATIR, 4) = SK.Cells(USD, q3)
SR.Cells(SATIR, 5) = SK.Cells(USD, q4)
SR.Cells(SATIR, 6) = SK.Cells(EURO, q1)
SR.Cells(SATIR, 7) = SK.Cells(EURO, q2)
SR.Cells(SATIR, 8) = SK.Cells(EURO, q3)
SR.Cells(SATIR, 9) = SK.Cells(EURO, q4)
SR.Cells(SATIR, 10) = SK.Cells(GBP, q1)
SR.Cells(SATIR, 11) = SK.Cells(GBP, q2)
SR.Cells(SATIR, 12) = SK.Cells(GBP, q3)
SR.Cells(SATIR, 13) = SK.Cells(GBP, q4)
SR.Cells(SATIR, 14) = p
SR.Cells(SATIR, 15) = s
End If

'**********************************************************

For Z = X To X - 7 Step -1
If SK.[A1] <> "" Then GoTo devam
KONTROL = Weekday(Z, vbMonday)
If KONTROL > 5 Then
y = Z - (KONTROL - 5)
Else
y = Z
End If

On Error Resume Next

URL1 = "URL;http://www.tcmb.gov.tr/kurlar/" & Year(y) & Format(Month(y), "00") & "/" & Format(Day(y), "00") & Format(Month(y), "00") & Year(y) & ".html"

With SK.QueryTables.Add(Connection:=URL1, Destination:=SK.Range("A1"))
.Name = y
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With

SATIR = SR.[A65536].End(3).Row + 1

If SK.[A1] <> "" Then
EURO = SK.[A:A].Find(What:="EUR/TRY", LookAt:=xlPart).Row
USD = SK.[A:A].Find(What:="USD/TRY", LookAt:=xlPart).Row
GBP = SK.[A:A].Find(What:="GBP/TRY", LookAt:=xlPart).Row
EURUSD = SK.[A:A].Find(What:="EUR/USD", LookAt:=xlPart).Row
GBPUSD = SK.[A:A].Find(What:="GBP/USD", LookAt:=xlPart).Row

If y < 39925 Or y > 40276 Then
q1 = 3: q2 = 4: q3 = 5: q4 = 6

'Dim j, k, p, s, l()
p = "": k = Len(SK.Cells(EURUSD, 3))
ReDim l(k)
For j = 1 To k
l(j) = Mid(SK.Cells(EURUSD, 3), j, 1)
If l(j) = "0" Or l(j) = "1" Or l(j) = "2" Or l(j) = "3" Or l(j) = "4" Or l(j) = "5" Or l(j) = "6" Or l(j) = "7" Or l(j) = "8" Or l(j) = "9" Or l(j) = "." Or l(j) = "," Then
l(j) = l(j)
Else
l(j) = ""
End If

If l(j) = "," Then
l(j) = "."
End If

p = p & l(j)
Next

s = "": k = Len(SK.Cells(GBPUSD, 3))
ReDim l(k)
For j = 1 To k
l(j) = Mid(SK.Cells(GBPUSD, 3), j, 1)
If l(j) = "0" Or l(j) = "1" Or l(j) = "2" Or l(j) = "3" Or l(j) = "4" Or l(j) = "5" Or l(j) = "6" Or l(j) = "7" Or l(j) = "8" Or l(j) = "9" Or l(j) = "." Or l(j) = "," Then
l(j) = l(j)
Else
l(j) = ""
End If

If l(j) = "," Then
l(j) = "."
End If

s = s & l(j)
Next

Else
q1 = 4: q2 = 5: q3 = 6: q4 = 7
p = SK.Cells(EURUSD, 4)
s = SK.Cells(GBPUSD, 4)
End If

SR.Cells(SATIR, 1) = X
SR.Cells(SATIR, 6) = SK.Cells(EURO, q1)
SR.Cells(SATIR, 7) = SK.Cells(EURO, q2)
SR.Cells(SATIR, 8) = SK.Cells(EURO, q3)
SR.Cells(SATIR, 9) = SK.Cells(EURO, q4)
SR.Cells(SATIR, 2) = SK.Cells(USD, q1)
SR.Cells(SATIR, 3) = SK.Cells(USD, q2)
SR.Cells(SATIR, 4) = SK.Cells(USD, q3)
SR.Cells(SATIR, 5) = SK.Cells(USD, q4)
SR.Cells(SATIR, 10) = SK.Cells(GBP, q1)
SR.Cells(SATIR, 11) = SK.Cells(GBP, q2)
SR.Cells(SATIR, 12) = SK.Cells(GBP, q3)
SR.Cells(SATIR, 13) = SK.Cells(GBP, q4)
SR.Cells(SATIR, 14) = p
SR.Cells(SATIR, 15) = s
End If
'**********************************************
DoEvents

Next
devam:
Next

Application.DisplayAlerts = False
SK.Delete
Application.DisplayAlerts = True

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

[A1].Select
Application.ScreenUpdating = True
Unload BEKLEME
MsgBox "İŞLEMİNİZ BAŞARIYLA TAMAMLANMIŞTIR.", vbInformation
End Sub
 
Güzel uygulama,teşekkür ederim.
 
paulaşım için teşekkürler arkadaşım, tam aradığım şeydi, forum çok güzel yeni keşfettim, ama aradığım herşey zaten burda varmış :D
tekrar teşekkürler.
 
Kurların geçerli olduğu tarihler

Arkadaşlar emek verenlere teşekkür etmek gerekli. Fakat kanımca bir yanlışlık var.

Örneğin 1 Haziran 2012 Cuma tarihinde saat 15:30 da belli olan kur aslında 2-3 Haziran Hafta Sonu ve 4 Haziran Pzt. günü geçerli olacak kurlardır.

KUR ALMAson2.xls dosyasında ve önceki versiyonlarında

U S D
YAYIN TARİHİ DÖVİZ ALIŞ DÖVİZ SATIŞ EFEKTİF ALIŞ EFEKTİF SATIŞ
01.06.2012 1,8589 TL 1,8679 TL 1,8576 TL 1,8707 TL
02.06.2012 1,8589 TL 1,8679 TL 1,8576 TL 1,8707 TL
03.06.2012 1,8589 TL 1,8679 TL 1,8576 TL 1,8707 TL
04.06.2012 1,8430 TL 1,8519 TL 1,8417 TL 1,8547 TL

yukarıdaki değerler gelmektedir.

YAYIN TARİHİ DÖVİZ ALIŞ DÖVİZ SATIŞ EFEKTİF ALIŞ EFEKTİF SATIŞ
01.06.2012 1,8589 TL 1,8679 TL 1,8576 TL 1,8707 TL

Değeri bir önceki günün değeri yani 30.05.2012 tarihindeki değerler olmalı ve,

YAYIN TARİHİ DÖVİZ ALIŞ DÖVİZ SATIŞ EFEKTİF ALIŞ EFEKTİF SATIŞ
04.06.2012 1,8430 TL 1,8519 TL 1,8417 TL 1,8547 TL

değeri ise 02.06.2012 tarihinin değerleri olmalıdır.

Ben mi yanlış biliyorum acaba :(
 
Geri
Üst