• DİKKAT

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

Yaş aralığı veri analizi

Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Örnek dosyada aciklamayi yaptım. Yardım edecek ustatlara şimdiden teşekkür ederim
 

Ekli dosyalar

Deneyiniz.

Kod:
Option Explicit

Sub Yas_Araligi_Say()
    Dim Liste As Variant, Son As Long, X As Long
    Dim Say_1 As Long, Say_2 As Long, Say_3 As Long, Say_4 As Long
    
    Son = Cells(Rows.Count, 1).End(3).Row
    Liste = Range("A2:Z" & Son).Value
    
    For X = 1 To UBound(Liste)
        If Liste(X, 26) <> "" Then
            If Liste(X, 7) = "GÜVENLİK GÖREVLİSİ" Then
                If Liste(X, 23) = "Etkin" Then
                    Select Case (Year(Date) - Year(Liste(X, 26)))
                        Case 18 To 25
                            Say_1 = Say_1 + 1
                        Case 26 To 35
                            Say_2 = Say_2 + 1
                        Case 36 To 45
                            Say_3 = Say_3 + 1
                        Case Is > 45
                            Say_4 = Say_4 + 1
                    End Select
                End If
            End If
        End If
    Next
    
    MsgBox "Çalışma durumu ETKİN ve görevi GÜVENLİK GÖREVLİSİ olanların yaş analizi..." & Chr(10) & Chr(10) & _
           "18-25 : " & Say_1 & " Kişi" & Chr(10) & _
           "26-35 : " & Say_2 & " Kişi" & Chr(10) & _
           "36-45 : " & Say_3 & " Kişi" & Chr(10) & _
           ">45    : " & Say_4 & " Kişi" & Chr(10), vbInformation
End Sub
 
Deneyiniz.

Kod:
Option Explicit

Sub Yas_Araligi_Say()
    Dim Liste As Variant, Son As Long, X As Long
    Dim Say_1 As Long, Say_2 As Long, Say_3 As Long, Say_4 As Long
  
    Son = Cells(Rows.Count, 1).End(3).Row
    Liste = Range("A2:Z" & Son).Value
  
    For X = 1 To UBound(Liste)
        If Liste(X, 7) = "GÜVENLİK GÖREVLİSİ" Then
            If Liste(X, 23) = "Etkin" Then
                Select Case (Year(Date) - Year(Liste(X, 26)))
                    Case 18 To 25
                        Say_1 = Say_1 + 1
                    Case 26 To 35
                        Say_2 = Say_2 + 1
                    Case 36 To 45
                        Say_3 = Say_3 + 1
                    Case Is > 45
                        Say_4 = Say_4 + 1
                End Select
            End If
        End If
    Next
  
    MsgBox "Çalışma durumu ETKİN ve görevi GÜVENLİK GÖREVLİSİ olanların yaş analizi..." & Chr(10) & Chr(10) & _
           "18-25 : " & Say_1 & " Kişi" & Chr(10) & _
           "26-35 : " & Say_2 & " Kişi" & Chr(10) & _
           "36-45 : " & Say_3 & " Kişi" & Chr(10) & _
           ">45    : " & Say_4 & " Kişi" & Chr(10), vbInformation
End Sub
Korhan bey makroyu calistirdim ancak sonuçları 0 kişi olarak gosterdi
 
Eklediğiniz dosyada denediniz mi?
 
Deneyiniz.

Kod:
Option Explicit

Sub Yas_Araligi_Say()
    Dim Liste As Variant, Son As Long, X As Long
    Dim Say_1 As Long, Say_2 As Long, Say_3 As Long, Say_4 As Long
  
    Son = Cells(Rows.Count, 1).End(3).Row
    Liste = Range("A2:Z" & Son).Value
  
    For X = 1 To UBound(Liste)
        If Liste(X, 7) = "GÜVENLİK GÖREVLİSİ" Then
            If Liste(X, 23) = "Etkin" Then
                Select Case (Year(Date) - Year(Liste(X, 26)))
                    Case 18 To 25
                        Say_1 = Say_1 + 1
                    Case 26 To 35
                        Say_2 = Say_2 + 1
                    Case 36 To 45
                        Say_3 = Say_3 + 1
                    Case Is > 45
                        Say_4 = Say_4 + 1
                End Select
            End If
        End If
    Next
  
    MsgBox "Çalışma durumu ETKİN ve görevi GÜVENLİK GÖREVLİSİ olanların yaş analizi..." & Chr(10) & Chr(10) & _
           "18-25 : " & Say_1 & " Kişi" & Chr(10) & _
           "26-35 : " & Say_2 & " Kişi" & Chr(10) & _
           "36-45 : " & Say_3 & " Kişi" & Chr(10) & _
           ">45    : " & Say_4 & " Kişi" & Chr(10), vbInformation
End Sub
Korhan bey 3868 kişilik listem var ancak 15 kişinin dogum tarihi yok toplam sonucu 3853 cikarmasi gerekirken boş hücrelerinde sayip 3868 kişi çıkarıyor
 
Eklediğiniz dosyada denediniz mi?
Boş hucreleri sanırım 45 yaş üstüne eklemis diğer yaş aralığı verileri doğru Korhan bey formülle hesaplattigimda boş hucreleri 120 yaş hesaplıyor sanırım makrodada böyle hesplayip 45 yasin üstündeki verilere eklemis
 
Eklediğiniz dosyada boş hücre olmadığı için o opsiyonu eklememiştim.

Üstteki mesajımdaki kodu güncelledim. Tekrar deneyiniz.
 
Geri
Üst