Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 06-02-2018, 15:55   #1
nakata417
 
Giriş: 08/06/2017
Şehir: ev
Mesaj: 4
Excel Vers. ve Dili:
2015
Exclamation Excel Haftasonu Kurları Yardım

Arkadaşlar Merhaba,
Excel dosyam kullandığım bir kod mantığı var.
Günlük doviz kurları hareketli olduğu için, ben bir gün öncesinin kurlarını alarak takip ediyorum. Mesela Excel tablomu açtığım bugün 06/02/2017 ise, tabloda " =BUGÜN()-1 " formülüyle, 05/02/2017 tarihindeki kurları alıyorum.

Yalnız şöyle bir problemim var. Eğer ki tarih haftasonu olursa, bende haftanın ilk iş gününde tablomu açarsam, 05.02.2017 pazartesi açtığımda bana -1 formülünde 04.02.2017 pazar tarihini verdiği için kur alanında " değer " hatası alıyorum. Formülü nasıl düzeltmeliyim ki, cumartesi pazar günlerini cuma gününe döndürsün ve ben pazartesi günü excel tablosunu açtığımda bana cuma gününün kurlarını versin.

Bu konuda yardımcı olabilirseniz sevinirim. Teşekkürler

Gün olarak: =BUGÜN()-1
Dolar Alış: =Webdoviz(BUGÜN();"usd";1)
Euro Alış: =Webdoviz(BUGÜN();"eur";1)
Parite: =B2/B1


Dosya linki
http://www.dosya.tc/server11/ocwhn6/...blosu.rar.html
nakata417 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-02-2018, 16:31   #2
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,762
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

Formüllü cevabım yok ama makro koduna kırmızı bölümü ekleyince istenen sonucu veriyor.
Mavi bölümü (BUGÜN()-1) yazarsanız isterseniz silebilirsiniz.
Silmezseniz formülü böyle yazın (BUGÜN())

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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)


Tarih = Tarih - 1

If "Cumartesi" = Format(Tarih, "dddd") Then
Tarih = Tarih - 1
ElseIf "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
__________________





Forum Kuralları
Ofis 2003 için makro güvenlik ayarları
http://www.excel.web.tr/f157/ofis-20...k-t104854.html
Ofis 2007 için makro güvenlik ayarları
http://www.excel.web.tr/f157/ofis-20...k-t104852.html
Timer Nesnesinin kurulumu
http://www.excel.web.tr/f167/timer-n...mu-t78713.html
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 07-02-2018, 09:32   #3
nakata417
 
Giriş: 08/06/2017
Şehir: ev
Mesaj: 4
Excel Vers. ve Dili:
2015
Varsayılan

çok teşekkür ederim ilginize harikasınız
nakata417 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 07-02-2018, 10:59   #4
Haluk
Özel Üye
 
Giriş: 07/07/2004
Şehir: Türkiye
Mesaj: 5,655
Excel Vers. ve Dili:
Office 2010 - İngilizce
Varsayılan

Ufak bir bilgi vermek istedim:

Merkez Bankası tarafından günlük döviz ve efektif kurları, gün içerisinde saat 15:30'da yayınlanır. Yani, Pazartesi günü örneğin saat 13:00'de aldığınız kur, aslında bir önceki Cuma günü saat 15:30'da yayınlanan kurdur.

Benzer şekilde, örneğin Salı günü saat 14:00'de alınan kur, Pazartesi gününe aittir. Yine Salı günü saat 16:00'da alınan kur ise, Salı gününe aittir.

.
__________________
Kod anlatılmaz,yazılır !

(Özel sorularınız için sa4truss@gmail.com)
Haluk Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 11:08


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Rampa- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Şişli Avukat- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kağıt Bardak- Çorlu Havuz- Çorlu Havuz- Çorlu Perde Yıkama- Okul Danışmanlık- ADR'li taşıma kabı imalatı- Mekanik Tesisat- Çorlu Grafik Tasarım- Çorlu Sondaj- Çorlu Etüt- Futbol Cafe- Beylikdüzü Temizlik- Çorlu Kurs- Çorlu Ders- İzmit Mimar- Hurda Bakır Kablo- Hurda Bakır Kablo- Çorlu Pronet- Çorlu Yönetim- Çorlu Apartman Yönetimi- Çorlu Marangoz- Çorlu Avukat- Çorlu Su Arıtma- Çorlu Kompresör- İstanbul İnşaat-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden