• DİKKAT

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

Haftanın belirli günlerini yazdırma

pmbpanter

Altın Üye
Katılım
1 Haziran 2005
Mesajlar
94
Excel Vers. ve Dili
Office 365
Merhaba,
Örnekte detaylı olarak açıkladığım konuda yardıma ihtiyacım var. Kısaca anlatmak gerekirse iki tarih arasında haftanın belirttiğim günlerindeki tarihleri otomatik olarak yazdırsın istiyorum. Forumda araştırdığım kadarıyla "Eleman - Choose" fonksiyonu ile bu duruma değişik çözüm bulan ustalar olmuş fakat bir türlü "Eleman" fonksiyonunu kendi örneğime uygulayamadım.
 

Ekli dosyalar

selam,
dosyanıza bakmadım. Yararlı olacağını düşündüğüm , daha önceden hazırladığım bir dokumanı paylaşmak istedim.
(Not : Hesaplamalarda çok çeşitli formüller kullanılabilir tabi ki..)
 
Son düzenleme:
selam,
dosyanıza bakmadım. Yararlı olacağını düşündüğüm , daha önceden hazırladığım bir dokumanı paylaşmak istedim.
(Not : Hesaplamalarda çok çeşitli formüller kullanılabilir tabi ki..)

Merhaba, öncelikle ilgilendiğiniz için çok teşekkürler. Örnek dosyanızı inceledim fakat maalesef benim ihtiyacımı karşılamıyor. Sizin vermiş olduğunuz örnek haftanın bir tek günü için hesaplama yapıyor, ben ise aynı anda bir kaç günü de yazdırabilmek istiyorum.

İyi günler dilerim.
 
Örnek dosyanızdaki tarihlerde hata var gibi. Listeleme yılında 2016 yazdığınız halde sonuçlarda 2006 yıllarını listelemişsiniz. Yine de anladığım kadarıyla aşağıdaki kodları bir modüle kopyalayıp denerseniz istediğinizi yapacağını düşünüyorum:
Kod:
Sub tarihler()
baş = [A3].Value
son = [B3].Value

For i = baş To son
    For j = 1 To 7
        If WorksheetFunction.Weekday(i, 2) = j And WorksheetFunction.CountIf([D3:J3], j) > 0 Then
            yeni = Cells(Rows.Count, "L").End(3).Row + 1
            Cells(yeni, "L") = Format(i, "dd/mm/yyyy dddd")
        End If
    Next
Next
End Sub
 
Örnek dosyanızdaki tarihlerde hata var gibi. Listeleme yılında 2016 yazdığınız halde sonuçlarda 2006 yıllarını listelemişsiniz. Yine de anladığım kadarıyla aşağıdaki kodları bir modüle kopyalayıp denerseniz istediğinizi yapacağını düşünüyorum:
Kod:
Sub tarihler()
baş = [A3].Value
son = [B3].Value

For i = baş To son
    For j = 1 To 7
        If WorksheetFunction.Weekday(i, 2) = j And WorksheetFunction.CountIf([D3:J3], j) > 0 Then
            yeni = Cells(Rows.Count, "L").End(3).Row + 1
            Cells(yeni, "L") = Format(i, "dd/mm/yyyy dddd")
        End If
    Next
Next
End Sub

Yusuf Bey,
Öncelikle ilgilendiğiniz için teşekkürler... Evet sizin de belirtmiş olduğunuz gibi dosya tarihlerini hatalı yazmışım ama siz düzeltmişsiniz. Bunun için de ayrıca teşekkürler... Yazdığınız kod yaptığım ufak bir revizyon ile tamamen işimi gördü... Ellerinize sağlık...

Sevgi ve saygılar...
 
İdris Bey ve Sakman26 formül ile alternatifini de öğrenmek bonus oldu..
Çok şeşekkürler...
 
Geri
Üst