- 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
Like "*=""" & Dovtip & "*" Then
sonuclar = Split(temizlik
, "</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
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
sonuclar = Split(temizlik
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
