İki Koşullu Filtreleme

Katılım
3 Nisan 2022
Mesajlar
32
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-04-2023
Merhaba,

Ek olarak paylaştığım örnek çalışma dosyasında ki gibi belirli koşullara sahip filtreleme işlemini nasıl yapabilirim? Yardımlarınızı bekliyorum.
 

Ekli dosyalar

Katılım
3 Nisan 2022
Mesajlar
32
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-04-2023

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Aşağıdaki kodu sayfa1 içindeyken çalıştırabilirsiniz.
Sayfa2 ye yazdırdım.
C++:
Sub Listele()
    Dim Veri, Liste(), i As Integer, Say As Integer, k As Integer
    Veri = Range("A1").CurrentRegion.Value
    For i = 2 To UBound(Veri, 2)
        If Veri(UBound(Veri), i) <= WorksheetFunction.Small(Range(Cells(UBound(Veri), 2), Cells(UBound(Veri), UBound(Veri, 2))), 3) Then
            If Veri(3, i) / Veri(2, i) = 1 Or Veri(3, i) / Veri(2, i) = 2 Then
                Say = Say + 1
                ReDim Preserve Liste(1 To UBound(Veri), 1 To Say)
                For k = 1 To UBound(Veri)
                    Liste(k, Say) = Veri(k, i)
                Next k
            End If
        End If
    Next i
    'Ben sayfa2 A1 hücresinden itibaren listeledim, siz kendinize göre uyarlarsınız
    Worksheets("Sayfa2").Cells.Clear
    If Say > 0 Then Worksheets("Sayfa2").Range("A1").Resize(UBound(Liste), Say) = Liste
    Erase Veri: Erase Liste: Say = Empty: i = Empty: k = Empty
End Sub
 
Katılım
3 Nisan 2022
Mesajlar
32
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-04-2023
Aşağıdaki kodu sayfa1 içindeyken çalıştırabilirsiniz.
Sayfa2 ye yazdırdım.
C++:
Sub Listele()
    Dim Veri, Liste(), i As Integer, Say As Integer, k As Integer
    Veri = Range("A1").CurrentRegion.Value
    For i = 2 To UBound(Veri, 2)
        If Veri(UBound(Veri), i) <= WorksheetFunction.Small(Range(Cells(UBound(Veri), 2), Cells(UBound(Veri), UBound(Veri, 2))), 3) Then
            If Veri(3, i) / Veri(2, i) = 1 Or Veri(3, i) / Veri(2, i) = 2 Then
                Say = Say + 1
                ReDim Preserve Liste(1 To UBound(Veri), 1 To Say)
                For k = 1 To UBound(Veri)
                    Liste(k, Say) = Veri(k, i)
                Next k
            End If
        End If
    Next i
    'Ben sayfa2 A1 hücresinden itibaren listeledim, siz kendinize göre uyarlarsınız
    Worksheets("Sayfa2").Cells.Clear
    If Say > 0 Then Worksheets("Sayfa2").Range("A1").Resize(UBound(Liste), Say) = Liste
    Erase Veri: Erase Liste: Say = Empty: i = Empty: k = Empty
End Sub
Bazı aksaklıklardan dolayı cevabınızı geç gördüm. Teşekkür ederim.
 
Üst