Filtre de sıralı malzeme kodlarını bir kod aralığında süzdürmek

Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Merhaba arkadaşlar;

sql veri tabının dan çektiğim stok kod ve isimlerim mevcuttur.

12010100300
12010100800
12010100900
12010101110
12010101200
12010200100
12010200221
12010200400
12010300300
12010400100
12010400116
12010400200
12010400300
12010400500
12010400700
12010400805
12010402505
12010403400
12010403600
12010403700
12010404707
12010600200
12010700100
12020100100
12020100300
12020101400
12020200100
12020200200
12020200600
12020200601
12020300100
12020300800
12020300900
12020400400
12020400600
12020400700
12020500300
12020500302
12020500700
12020600107
12020600200
12020600300
12020600400

Bu şekilde kodlar geliyor
Filtreden iki kod aralığını mesela

12010403600
12010403700
12010404707
12010600200
12010700100
12020100100
12020100300
12020101400

sadece 12010403600 ile 12020101400 arasındaki kodları filtrelemek istiyorum.
Nasıl yapabilirim.
Teşekkür ederim.
 

denizfatihi

Altın Üye
Katılım
27 Ekim 2004
Mesajlar
55
Excel Vers. ve Dili
Office-2021
Altın Üyelik Bitiş Tarihi
26-03-2026
Merhaba,

Şartlar kısmını aşağıdaki kısmı ekleyip dener misin.

where stok_kodu between '12010403600 ' and '12020101400'
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Merhaba,

Şartlar kısmını aşağıdaki kısmı ekleyip dener misin.

where stok_kodu between '12010403600 ' and '12020101400'
Cevabınız için teşekkür ederim. Ama SQL kodu ile değil gelen veri üzerinde ayrıca filtre ile yapmak istiyorum. Filtreyide macroya atayacağım.
 

denizfatihi

Altın Üye
Katılım
27 Ekim 2004
Mesajlar
55
Excel Vers. ve Dili
Office-2021
Altın Üyelik Bitiş Tarihi
26-03-2026
Sub test()
ActiveSheet.Range("$A$2:$A$45").AutoFilter Field:=1, Criteria1:= _
">=12010403600", Operator:=xlAnd, Criteria2:="<=12020101400"
End Sub
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Sub test()
ActiveSheet.Range("$A$2:$A$45").AutoFilter Field:=1, Criteria1:= _
">=12010403600", Operator:=xlAnd, Criteria2:="<=12020101400"
End Sub
Teşekkürler

Peki bu aralığa mesela ilaveten birkaç aralık grubu daha ekleyebilir miyim.
Mesela 12010403600 12020101400 arası ve 12050103010 12060103012 ve 12090400900 ile 12150500900 3 ayrı aralık daha ekleyebilir miyiz. yada başka türlü bu şekilde nasıl yapabilirim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,159
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Böyle olabilir.

Ben sadece A sütunu için değerlendirdim.

C++:
Option Explicit

Sub Data_Filter()
    Dim S1 As Worksheet, Veri As Variant, X As Long
    Dim Son As Long, Stok_No As Variant, Say As Integer
    
    Set S1 = Sheets("Sayfa1")
    
    On Error Resume Next
    S1.ShowAllData
    On Error GoTo 0
    
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    If Son < 2 Then Son = 3
    
    Veri = S1.Range("A2:A" & Son).Value
    
    Stok_No = Array(12010403600#, 12020101400#, 12050103010#, 12060103012#, 12090400900#, 12150500900#)
    
    ReDim Liste(1 To 1)
    
    For X = LBound(Veri, 1) To UBound(Veri, 1)
        Select Case Veri(X, 1)
            Case Stok_No(0) To Stok_No(1), Stok_No(2) To Stok_No(3), Stok_No(4) To Stok_No(5)
                Say = Say + 1
                ReDim Preserve Liste(1 To Say)
                Liste(Say) = CStr(Veri(X, 1))
        End Select
    Next
    
    S1.Range("A1:A" & S1.Rows.Count).AutoFilter 1, Liste, xlFilterValues

    Set S1 = Nothing

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Üst