• DİKKAT

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

Macro ile doğum günü takibi

Katılım
10 Şubat 2012
Mesajlar
15
Excel Vers. ve Dili
2010,ing
Merhaba,

400 kisinin doğum günü tarihini takip etmek istiyorum. Ekteki excel dosyasindan gorulecegi uzere uzun ve zahmetli yoldan manual olarak doğum tarihi olan personelleri görebiliyorum.

Ancak mümkün olabilir ise 2. sayfada bir buton ve macro yardımı ile bu 400 kişinin gelmesini sağlayabilir miyiz. Yani butono bastigim zaman var ise o gün doğum tarihi olan kişiler ekrana gelebilir mi.

Yoksa data/filter'dan bulmam soz konusu ancak cok kullanisli değil.

Teşekkür ederim, şimdiden
 

Ekli dosyalar

Merhaba
Kod olarak bunu kullanabilirsiniz.
Kod:
Option Explicit
Sub doğum_1967()
Dim SAT As Long, SAY As Long
Dim S1 As Worksheet, S2 As Worksheet
Set S1 = Sheets("Sheet1"): Set S2 = Sheets("Sheet2")
Application.ScreenUpdating = False
S2.Range("A:A").ClearContents
SAY = 1
For SAT = 2 To S1.Cells(Rows.Count, "B").End(xlUp).Row
If DateSerial(Year(Date), Month(S1.Cells(SAT, "B")), _
Day(S1.Cells(SAT, "B"))) = Date Then
S2.Cells(SAY, "A") = S1.Cells(SAT, "A").Value
SAY = SAY + 1
End If: Next
Application.ScreenUpdating = True
MsgBox "Bugün Doğum Günü Olan " & SAY - 1 & " Kişi Var", vbInformation
End Sub
 
Şu iki kodu da bir deneyiniz;

Kod:
 Sub Emre()
    Dim evn As Range
    Columns("K:S").Clear
    For Each evn In Range("B4:B" & Range("B65536").End(3).Row)
        If Left(evn.Value, 5) = Left(VBA.Date, 5) Then
            Range("A1:I1").Copy Range("K1")
            Cells(evn.Row, 1).Resize(, 9).Copy
            Range("K65536").End(3)(2, 1).PasteSpecial xlValues
        End If
    Next evn
    Application.CutCopyMode = False
    Columns.AutoFit
    Set evn = Nothing
End Sub
Kod:
 Sub Emre()
    Dim evn As Integer
    Columns("K:S").Clear
    For i = 2 To Range("B65536").End(3).Row
        If Left(Cells(i, "B"), 5) = Left(VBA.Date, 5) Then
            Range("A1:I1").Copy Range("K1")
            Cells(i, 1).Resize(, 9).Copy
            Range("K65536").End(3)(2, 1).PasteSpecial xlValues
        End If
    Next i
    Application.CutCopyMode = False
    Columns.AutoFit
    evn = Empty
End Sub
 
Afedersiniz Sn. asi_kral_1967 mesajınızı görmedim.
 
Geri
Üst