• DİKKAT

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

Excell çalışma sayfalarında, belirli bir kolonda benzersiz veri içeren satır sayılarını değişkene aktarma

Katılım
14 Nisan 2009
Mesajlar
47
Excel Vers. ve Dili
Microsoft Office Pro Plus 2019 - TR
Merhabalar,
Excel çalışma dosyamda 1. ve 2. çalışma sayfalarım da sabit bilgilerim olduğu için 3. çalışma sayfasından başlıyorak n sayıda çalışma sayfasında aşağıdaki işlemleri makro ile yaptırmak istiyorum.
Makroyu çalıştırddığımda, her bir çalışma sayfasında, T21 'den başamak kaydıyla, bu kolonda (en fazla 500-600 satırlık bir kolon) yer alan TC KİMLİK NOLARI ndan benzersiz olanların sayısını, yine her bir sayfada yer alan başka bir işlemde kullanmak amacıyla bir değişkene atamak istiyorum.
Yardımlarınız için şimdiden teşekkürler.
 
Merhaba,

Kendinize uyarlarsınız..

C++:
Option Explicit

Sub Benzersiz_Say()
    Dim X As Integer, Y As Long, Sh As Worksheet, My_Data As Variant
    
    With CreateObject("Scripting.Dictionary")
        For X = 3 To Sheets.Count
            Set Sh = Sheets(X)
            My_Data = Sh.Range("T21:T" & Sh.Cells(Sh.Rows.Count, "T").End(3).Row).Value2
            For Y = LBound(My_Data) To UBound(My_Data)
                .Item(My_Data(Y, 1)) = 1
            Next
        Next
        
        MsgBox .Count
    End With
End Sub
 
Teşekkür ediyorum Korhan Ayhan bey,
Kod bloğumun bir kısmında benzersiz işlevi ile ilgili işlemlerimi yaptırabiliyorum artık.Burada ilgili kolondaki tüm veriler içerisinden benzersiz olanların sayısını öğreniyoruz.
Peki, bu yöntentemle; sadece, AG kolonundaki "VARİS ÖLÜ" olanların TC KİMLİK NOLARI nın sayısını bulabilirmiyiz. Veya şart sayısını birden fazla verebilirmiyiz.
(tabi veri başlagıç satırımız yine 21)
Teşekkürler.
 
Çok sütuna göre sorgulama yapılacaksa My_Data değişkenini buna göre tanımlamak gerekir.

C++:
Option Explicit

Sub Benzersiz_Say()
    Dim X As Integer, Y As Long, Sh As Worksheet, My_Data As Variant
    
    With CreateObject("Scripting.Dictionary")
        For X = 3 To Sheets.Count
            Set Sh = Sheets(X)
            My_Data = Sh.Range("T21:AG" & Sh.Cells(Sh.Rows.Count, "T").End(3).Row).Value2
            For Y = LBound(My_Data) To UBound(My_Data)
                If My_Data(Y, 14) = "VARİS ÖLÜ" Then
                    .Item(My_Data(Y, 1)) = 1
                End If
            Next
        Next
        
        MsgBox .Count
    End With
End Sub
 
Geri
Üst