2016-04-05 14 views
0

& nasıl sayılır Excel'de otomatik filtre ölçütlerinden değerler listesi alınır? Bir sütun "A" için bir filtre seçeneği uyguladıktan sonra onay kutusu ile kriterleri bulacaksınız, ben de kriterlerin sayısını & ölçütleri almak istiyorum. Bunu VBA koduyla nasıl yapabilirim? teşekkürler :)Excel'de süzgeç seçeneğinden bir ölçüt ve ölçüt sayısı alın

+2

Bence bu ** iyi bir soru olabilir ......... lütfen gönderinizi almak istediğiniz bilgilerin ** özel ** bir örneği ile güncelleyin. –

+0

Bana özgü sesler geliyor. Soruyu sorduğun için teşekkürler. – user4333011

cevap

1
Sub MatchCount() 
Dim Criteria(1 To n, 1 To 2)            'Define 2 dimensional array to store criteria and its count, change n as per your requirements 
Dim i, j, k As Integer 
For k = 1 To n 
    Criteria(k, 2) = 0 
Next k 
i = 1 
Index = 1 
Do While ActiveSheet.Cells(i, 1) <> 0 
    For j = 1 To n 
     If Criteria(j, 1) = ActiveSheet.Cells(i, 1) Then     'Counts the criteria 
      Criteria(j, 2) = Criteria(j, 2) + 1 
      Exit For 
     End If 
    Next j 
    If j = n+1 Then               'Stores the criteria If it is not found in the array and sets count to one 
     Criteria(Index, 1) = ActiveSheet.Cells(i, 1) 
     Criteria(Index, 2) = Criteria(Index, 2) + 1 
     Index = Index + 1 
    End If 
    i = i + 1 
Loop 
For i = 1 To n               'Print criteria and their respective counts 
    ActiveSheet.Cells(i, 3) = Criteria(i, 1) 
    ActiveSheet.Cells(i, 4) = Criteria(i, 2) 
Next i 
End Sub 
1

bazı kod, bir bağlantı içeren ve bir 'havada ellerimi kusmak - hepsi anlamaya yaş almaya gidiyor' gibi bir yarı-cevap olarak bu ekliyorum .

Öncelikle beni durdurmak yapılan bağlantı (ı yok olarak zamanı): http://yoursumbuddy.com/autofilter-vba-operator-parameters/


Şimdi şimdiye kadar yazdım kodu. Buradaki fikir, tablonuzdaki her sütunun üstündeki hücreye =Filter_Criteria() formülünü girmeniz ve bu sütun için seçilen ölçütleri listelemenizdir. Ben operatörler (eğer başlayanlar için rengine göre filtre listesi ediyorum nasıl) 2003 daha karmaşık bir fazlabirşey olduğunu fark edince ben

Public Function Filter_Criteria() As String 

    Dim rMe As Range 

    If TypeName(Application.Caller) = "Range" Then 

     'Where's the function being called from. 
     Set rMe = Application.Caller 

     'Is Autofilter on? 
     If rMe.Parent.AutoFilterMode Then 
      With rMe.Parent.AutoFilter 

       'Does the function sit a row above the filtered range? 
       If Not Intersect(rMe.Offset(1), .Range) Is Nothing Then 

        With .Filters(rMe.Column - .Range.Column + 1) 
         If .On Then 

          'Action depending on type of operator. 
          Select Case .Operator 

           'Specific values selected. 
           Case xlFilterValues 


           'Date Filter 
           Case 0 

           'Selected 'Last Month' in date range. 
           Case xlFilterDynamic 

          End Select 
         End If 
        End With 
       End If 
      End With 
     End If 

    End If 

End Function 

Umarım bu kod ve bağlantı, size iyi bir başlangıç ​​noktası verecektir durdu. ... sonuna kadar ulaşırsan haber ver.

İlgili konular