Filtreleme

mcetinkaya65

Altın Üye
Katılım
1 Mart 2011
Mesajlar
487
Excel Vers. ve Dili
2021 türkçe
Altın Üyelik Bitiş Tarihi
24-12-2030
Selamünaleyküm. Hayırlı Akşamlar.
Kütüphane ziyaretleri diye bir çalışma yaptım. Data sayfasına ziyarete gelen okullar ve öğrencileri kayıt ediyoruz. Bir ikinci sayfada ise Yıl bazında ay bazında ve istediğimiz iki tarih arasında kütüp hanemizi ziyarete gelenleri görmek istiyoruz.
1. H3 hücresinde üstte yazan yılda ziyaret eden öğrenci sayısı
2. I3 hücresinde H1 hücresinde yazan yılın, I1 hücresinde yazan ayda ki ziyaretçi sayısı
3. J2 ile K2 hücresindeki tarihler arasındaki verileri rapor sayfasındaki tabloya getirerek j3 hücresine öğrenci sayılarını toplaması
4. Eğer tarihler yazılmamış ise o ayın verilerini tabloya getirmesi
hakkında
Yardımlarınıza ihtiyacım var. Saygılarımla…
 

Ekli dosyalar

Son düzenleme:

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Aşağıdaki kodları VBA Kod penceresine yapıştırdıktan sonra, Rapor Sayfasına bir düğme çizerek, "Makro Ata" seçeneğinden aşağıdaki kodları bağlayınız.
Kod:
Sub raporla()
Dim s1 As Worksheet, s2 As Worksheet, ss As Long, a, b()
Dim ilk As Date, son As Date, gun As Integer, ay As Integer, sene As Integer

Set s1 = Sayfa1
Set s2 = Sheets("Rapor")
ss = s1.Range("B55500").End(3).Row
a = s1.Range("A1:F" & ss).Value
gun = Int(Format(s2.Range("J2").Value, "dd"))
ay = Int(Format(s2.Range("J2").Value, "mm"))
sene = Int(Format(s2.Range("J2").Value, "yyyy"))
ilk = DateSerial(sene, ay, gun)

gun = Int(Format(s2.Range("K2").Value, "dd"))
ay = Int(Format(s2.Range("K2").Value, "mm"))
sene = Int(Format(s2.Range("K2").Value, "yyyy"))
son = DateSerial(sene, ay, gun)
n = 0
ReDim b(1 To 6, 1 To 1)
For i = 1 To UBound(a)
    If a(i, 2) >= ilk And a(i, 2) <= son Then
        n = n + 1
        ReDim Preserve b(1 To 6, 1 To n)
        For d = 1 To 6
            b(d, n) = a(i, d)
        Next d
    End If
Next i
s2.Range("A2:F5500").ClearContents
s2.Range("A2").Resize(n, 6).Value = Application.Transpose(b)
MsgBox "İşlem tamamlandı", vbInformation, "antonio"
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Alternatif olsun.

Sayfa yapısında biraz değişiklik yaptım.
Listeleme tarih aralığında değişiklikler yaparak sonucu gözlemleyiniz.
.
 

Ekli dosyalar

mcetinkaya65

Altın Üye
Katılım
1 Mart 2011
Mesajlar
487
Excel Vers. ve Dili
2021 türkçe
Altın Üyelik Bitiş Tarihi
24-12-2030
İlgi ve alakanızdan dolayı çok teşekkür ederim.
Allah Razı olsun.İyi ki varsınız...
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
İlgi ve alakanızdan dolayı çok teşekkür ederim.
Allah Razı olsun.İyi ki varsınız...
Estağfurullah, Sayın ÇETİNKAKA. Önemli olan ihtiyacın görülmesi. Sadece bir cümlenizle ilgili fikrimi söyleyeyim.
İlgi ve alaka anlamları aynı olan iki kelime (sadece, biri Türkçe diğeri Arapça kaynaklı) ve kullandığınız haliyle biraz garip bir cümle olmuş sanki.

İyi çalışmalar.
.
 
Üst