• DİKKAT

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

ay içerisinde mesai günleri ve tatil günlerinin ayrılması...

Selamlar,

Alternatif olarak makrolu çözümü ekteki dosyada bulabilirsiniz. Umarım faydası olur.
 
Sn. Necdet Bey,

biraz uğraştırdım sizi ama, mükemmel oldu.. çok basit bir şey belki ama benim işimi çok kolaylaştıracak..:hihoho: :hihoho: :hihoho:

elinize, emeğinize sağlık. çok teşekkür ediyorum.

saygılar.

Sayın Selçuk Bey, bu dosyayı bulamıyorum. Rica etsem son haliyle tekrar ekleyebilir misiniz? Saygılarımla....
 
Selamlar,

Dosya silindiği için içeriğini tam olarak hatırlamıyorum ama mesajlardan anladığım kadarıyla yeni bir örnek dosya hazırladım.

A2 ve B2 hücrelerinden yapalıcak seçime göre ilgili aya ait iş günleri D-E sütunlarına, tatil günleride F-G sütunlarına listelenmektedir.

Umarım faydası olur.


Kullanılan kod; (Sayfanın kod bölümüne uygulayınız.)

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim İLK_GÜN As Date, SON_GÜN As Date, TARİH As Date
    Dim BUL As Range, SATIR As Long
 
    If Intersect(Target, [A2:B2]) Is Nothing Then Exit Sub
 
    If Cells(Target.Row, "A") <> "" And Cells(Target.Row, "B") <> "" Then
 
    Range("D2:G65536").ClearContents
 
    İLK_GÜN = DateSerial(Cells(Target.Row, "B"), Cells(Target.Row, "A"), 1)
    SON_GÜN = DateSerial(Cells(Target.Row, "B"), Cells(Target.Row, "A") + 1, 0)
 
    For TARİH = İLK_GÜN To SON_GÜN
        Set BUL = Sheets("TATİLLER").Range("F:F").Find(TARİH, [COLOR=red]LookAt:=xlWhole[/COLOR])
        If Not BUL Is Nothing Then
        SATIR = Cells(65536, "F").End(3).Row + 1
        Cells(SATIR, "F") = TARİH
        Cells(SATIR, "G") = Sheets("TATİLLER").Cells(BUL.Row, "D") & " - " & Sheets("TATİLLER").Cells(BUL.Row, "E")
        Else
        If Weekday(TARİH, vbMonday) > 5 Then
        SATIR = Cells(65536, "F").End(3).Row + 1
        Cells(SATIR, "F") = TARİH
        Cells(SATIR, "G") = Format(TARİH, "dddd")
        Else
 
        SATIR = Cells(65536, "D").End(3).Row + 1
        Cells(SATIR, "D") = TARİH
        Cells(SATIR, "E") = Format(TARİH, "dddd")
        End If
        End If
    Next
 
    Set BUL = Nothing
    Range("D:G").EntireColumn.AutoFit
 
    End If
End Sub
 

Ekli dosyalar

Sayın Korhan Ayhan
Dosyanızda işgünlerini ayıran makroların biryerinde bir hata var ama ben bulamadım. Şöyleki; 2009 yılının kurban bayramı hem 1 inci ayda hemde 11 inci ayda görünüyor. Tekrar bir bakabilirmisiniz acaba. Saygılar.
 
Selamlar,

Sn. m.gur,

Belirttiğiniz problemi düzelttim. Üstteki mesajımda kodda yaptığım değişikliği kırmızı renkle belirttim. Dosyanın güncel halini kullanabilirsiniz.
 
Sayın Korhan Aydın
Çok teşekkür ederim. Sorunsuz çalışıyor. Hayırlı bayramlar.
 
alternatif olarak bir dosyada ben koydum tek yapılması gereken SpinButton1 komut düğmesini tıklamak
 

Ekli dosyalar

Son düzenleme:
Sayın Halit3
Çok güzel bir çalışma olmuş kutlarım sizi.
 
Geri
Üst