• DİKKAT

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

iki tarih arasında olmayan günleri raporlama

Katılım
11 Haziran 2008
Mesajlar
121
Excel Vers. ve Dili
2003
Merhaba Arkadaşlar,
Excel tablosunda Personel İsmi ve Tarih bilgileri var.
A1 ve B1 yazan tarih aralığında kayıt girilmemiş tarihleri personel bazında nasıl farklı sayfaya raporlarım.

Aşağıda ki örneğe göre Veli BABA 02/01/2020 bulmak istiyorum.
Ali ASLAN 01/01/2020
Veli BABA 01/01/2020
Ali ASLAN 02/01/2020
Ali ASLAN 03/01/2020
Veli BABA 03/01/2020

Teşekkürler
 
Merhaba

Küçük bir örnek dosya ekler misiniz. Birde tüm personel isimlerini arayacağımız bir yer var mı? Yoksa sadece listelenen personellere göre mi işlem yapacağız.

 
Listenen kayıta ilk ve son tarihler arasında atlayan günleri bulmak istiyorum.
 
Merhaba,

Deneyiniz. Sayfa1 de olmayan günleri istediğiniz gibi Sayfa2 ye listeler.
Kod:
Sub bul_listele()
  
    Dim S1 As Worksheet, S2 As Worksheet, mn As Date, mk As Date, i As Long
    Dim dizi(), deg, s, k, a As Long, d As Object, sat As Long, j As Long
      
    Set S1 = Sheets("Sayfa1")
    Set S2 = Sheets("Sayfa2")
    Set d = CreateObject("Scripting.Dictionary")
  
    Application.ScreenUpdating = False
    mn = Application.Min(S1.[B:B])
    mk = Application.Max(S1.[B:B])
  
    For i = 2 To S1.Cells(Rows.Count, "A").End(xlUp).Row
        deg = S1.Cells(i, "A")
        ReDim Preserve dizi(a)
        dizi(a) = deg & "|" & S1.Cells(i, "B")
        a = a + 1
        If Not d.exists(deg) Then
            d.Add deg, Nothing
        End If
    Next i
  
    S2.Select
    Range("A2:B" & Rows.Count).ClearContents

    s = d.keys: sat = 2
    For j = 0 To d.Count - 1
        For i = mn To mk
            k = Application.Match(s(j) & "|" & CDate(i), Application.Transpose(dizi), 0)
            If IsError(k) Then
                Cells(sat, "A") = s(j)
                Cells(sat, "B") = CDate(i)
                sat = sat + 1
            End If
        Next i
    Next j
  
End Sub
 
Teşekkürler hocam, bazı sorunlardan dolayı siteye giremedim.
 
Geri
Üst