• DİKKAT

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

Döviz Kurları Kodlarına tatil tarihi ekleme.

Katılım
3 Kasım 2010
Mesajlar
230
Excel Vers. ve Dili
Excel 2016 - Türkçe
Merhaba Arkadaşlar,

Excelde kullanmış olduğum bir döviz kodları var. Hemen hemen bütün resmi tatiller mevcut ama 15 temmuzuda eklemek istiyorum. Kodları bozmak istemedim.

Aşağıda ki kodlara 15 temmuzu nasıl ekleyebilirim?

DefVar E
Function Webdoviz(ByVal Tarih As Date, ByVal Dovtip As String, ByVal Tipi As Long) As Variant
Dim gun As String, ay As String, yil As String, path As String, kur As Double
Dim icerik As String, xmlhttp As Object, evn As Variant
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
Application.Volatile
Dovtip = UCase(Dovtip)


If CDate(Tarih) = CDate(Format(Now, "dd.mm.yyyy")) And "15:30:00" >= CDate(Format(Now, "hh:nn")) Then
Tarih = Tarih - 1
End If

If "Cumartesi" = Format(Tarih, "dddd") Then
Tarih = Tarih - 1
End If
If "Pazar" = Format(Tarih, "dddd") Then
Tarih = Tarih - 2
End If


'Ramazan Bayramı
If "03.06" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 1
End If
If "04.06" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 2
End If
If "05.06" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 3
End If
If "06.06" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 4
End If

'Kurban Bayramı
If "10.08" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 1
End If
If "11.08" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 2
End If
If "12.08" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 3
End If
If "13.08" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 4
End If
If "14.08" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 5
End If


If "01.01" = Format((Tarih), "dd/mm") Or "23.04" = Format((Tarih), "dd/mm") Or "01.05" = Format((Tarih), "dd/mm") Or "19.05" = Format((Tarih), "dd/mm") _
Or "30.08" = Format((Tarih), "dd/mm") Or "28.10" = Format((Tarih), "dd/mm") Or "29.10" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 1
End If

If "Cumartesi" = Format(Tarih, "dddd") Then
Tarih = Tarih - 1
End If
If "Pazar" = Format(Tarih, "dddd") Then
Tarih = Tarih - 2
End If



gun = Day(Tarih): ay = Month(Tarih): yil = Year(Tarih)
If Len(gun) = 1 Then gun = "0" & gun
If Len(ay) = 1 Then ay = "0" & ay
path = "http://www.tcmb.gov.tr/kurlar/" & yil & ay & "/" & gun & ay & yil & ".xml"
xmlhttp.Open "GET", path, False
xmlhttp.send "at"
If xmlhttp.Status = 200 Then
icerik = xmlhttp.responseText
temizlik = Split(icerik, "<Currency CrossOrder=")
For y = 0 To UBound(temizlik)
If temizlik(y) Like "*=""" & Dovtip & "*" Then
sonuclar = Split(temizlik(y), "</CurrencyName>")
evn1 = Split(sonuclar(1), "<ForexBuying>")
evn2 = Split(sonuclar(1), "<ForexSelling>")
evn3 = Split(sonuclar(1), "<BanknoteBuying>")
evn4 = Split(sonuclar(1), "<BanknoteSelling>")
Select Case Tipi
Case 1: evn = Split(evn1(1), "</")
Case 2: evn = Split(evn2(1), "</")
Case 3: evn = Split(evn3(1), "</")
Case 4: evn = Split(evn4(1), "</")
End Select
Exit For
End If
Next y
End If
'Kuruş hanesini benim gibi virgül kullananlar için
Webdoviz = Replace(evn(0), ".", ",")

'Kuruş hanesini nokta kullananlar için
'Webdoviz = evn(0)
End Function
 
Bu bölüme
Kod:
If "01.01" = Format((Tarih), "dd/mm") Or "23.04" = Format((Tarih), "dd/mm") Or "01.05" = Format((Tarih), "dd/mm") Or "19.05" = Format((Tarih), "dd/mm") _
Or "30.08" = Format((Tarih), "dd/mm") Or "28.10" = Format((Tarih), "dd/mm") Or "29.10" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 1
End If

yukarıdaki bölüme kırmızı yeri ekledim

Rich (BB code):
If "01.01" = Format((Tarih), "dd/mm") Or "23.04" = Format((Tarih), "dd/mm") Or "01.05" = Format((Tarih), "dd/mm") Or "19.05" = Format((Tarih), "dd/mm") _
Or "15.07" = Format((Tarih), "dd/mm") Or "30.08" = Format((Tarih), "dd/mm") Or "28.10" = Format((Tarih), "dd/mm") Or "29.10" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 1
End If
 
Bu bölüme
Kod:
If "01.01" = Format((Tarih), "dd/mm") Or "23.04" = Format((Tarih), "dd/mm") Or "01.05" = Format((Tarih), "dd/mm") Or "19.05" = Format((Tarih), "dd/mm") _
Or "30.08" = Format((Tarih), "dd/mm") Or "28.10" = Format((Tarih), "dd/mm") Or "29.10" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 1
End If

yukarıdaki bölüme kırmızı yeri ekledim

Rich (BB code):
If "01.01" = Format((Tarih), "dd/mm") Or "23.04" = Format((Tarih), "dd/mm") Or "01.05" = Format((Tarih), "dd/mm") Or "19.05" = Format((Tarih), "dd/mm") _
Or "15.07" = Format((Tarih), "dd/mm") Or "30.08" = Format((Tarih), "dd/mm") Or "28.10" = Format((Tarih), "dd/mm") Or "29.10" = Format((Tarih), "dd/mm") Then
Tarih = Tarih - 1
End If

Çok Teşekkür ederim. Tamamdır.(y)
 
Yalnız gördüğüm kadarıyla ramazan ve kurban bayramları için sabit tarihler belirlenmiş, bu sıkıntı olmaz mı?
 
Geri
Üst