[Yardım]  Vba'da Fitreleme

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Vba'da Fitreleme

İleti#1)  akinsen52 » 12 Şub 2020 10:36

Merhabalar,
Vba' da bir kod yazmak istiyorum. Filtre özelliğine sahip olan hücrenin içindeki yazanları kendi sırası geldikçe filtrelemesini istiyorum.
Şu anda;
ActiveSheet.Range("$B$1:$AK$13312").AutoFilter Field:=8, Criteria1:= _
"#1 aaa"
Kodunu kullanmaktayım ama burada aranan kısmı sürekli elimle değiştirmek zorunda kalıyorum. (15'e yakın kriter olduğu bile olabiliyor bunları alt alta yazdığım için kod çok uzun oluyor.)
Bunun yerine for döngüsü ile (x='aranacak kriter sayısı) şeklinde bir formülasyon kulanarak bir kaç satırda yapılabilir mi?
Teşekkü ederim.
Kullanıcı avatarı
akinsen52
Yeni Başlamış
 
Kayıt: 07 Eyl 2018 15:56
Meslek: endüstri mühendisi
Yaş: 24
İleti: 20
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara

Cevap: Vba'da Fitreleme

İleti#2)  tdemirhan » 12 Şub 2020 12:06

Örnek bir dosya atabilir misiniz? Anladığım kadarıyla ADO ile yapılabilir görünüyor.
Kullanıcı avatarı
tdemirhan
Yeni Başlamış
 
Kayıt: 11 Nis 2019 15:43
Meslek: teniker
Yaş: 32
İleti: 61
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkezefendi

Cevap: Cevap: Vba'da Fitreleme

İleti#3)  akinsen52 » 12 Şub 2020 12:28

tdemirhan yazdı:Örnek bir dosya atabilir misiniz? Anladığım kadarıyla ADO ile yapılabilir görünüyor.


Şirket bilgisayarı olduğu için ek ekleyemiyorum izin vermiyor.
Kullanıcı avatarı
akinsen52
Yeni Başlamış
 
Kayıt: 07 Eyl 2018 15:56
Meslek: endüstri mühendisi
Yaş: 24
İleti: 20
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara

Cevap: Vba'da Fitreleme

İleti#4)  Ali ÖZ » 12 Şub 2020 12:49

Merhaba,
Döngü ile filtreleme sizin ne işinize yarayacak ? Siz fark etmeden en son sıradaki filtreyi uygulamış olacak.
Yapmak istediğiniz işlemi detaylandırırsanız çözüm için farklı öneriler de sunulabilir.
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 10093
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Cevap: Vba'da Fitreleme

İleti#5)  akinsen52 » 12 Şub 2020 13:01

Ali ÖZ yazdı:Merhaba,
Döngü ile filtreleme sizin ne işinize yarayacak ? Siz fark etmeden en son sıradaki filtreyi uygulamış olacak.
Yapmak istediğiniz işlemi detaylandırırsanız çözüm için farklı öneriler de sunulabilir.


Yapmak istediğim I1 hücresindeki filtreli hücreyi seçecek, filtreli verileri görecek sırayla filtre yapacak. Excelimde bir döngü mevut bu sadece bir kısmı her filtrelenen hücrenin değerlerini farklı bir yere aldırıyorum ama bunu yaparken şu anda aynı formülü alt alta yazarak filtre içeriklerini manuel değiştiriyorum her farklı dosyada, ben bunun yerine döngü içerisinde iken ilk veriyi seçsin sonra tekrar başa döndüğünde ikinci veriyi seçsin tekrar başa döndüğünde 3.veriyi seçsin şeklinde ilerlesin istiyorum.
Tam anlaşılabildi mi bilmiyorum ama çözümü var mıdır?
Kullanıcı avatarı
akinsen52
Yeni Başlamış
 
Kayıt: 07 Eyl 2018 15:56
Meslek: endüstri mühendisi
Yaş: 24
İleti: 20
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara

Cevap: Vba'da Fitreleme

İleti#6)  Miraç CAN » 12 Şub 2020 16:39

Böyle bir şey mi?
Kod: Tümünü seç
kriter = Array(Empty, "a", "b", "c")
For i = 1 To 3
    ActiveSheet.Range("$B$1:$AK$13312").AutoFilter Field:=i, Criteria1:=kriter(i)
Next i
Kullanıcı avatarı
Miraç CAN
Siteye Alışmış
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 38
İleti: 417
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Cevap: Vba'da Fitreleme

İleti#7)  akinsen52 » 12 Şub 2020 16:49

Miraç CAN yazdı:Böyle bir şey mi?
Kod: Tümünü seç
kriter = Array(Empty, "a", "b", "c")
For i = 1 To 3
    ActiveSheet.Range("$B$1:$AK$13312").AutoFilter Field:=i, Criteria1:=kriter(i)
Next i


Aynen bu işe yaradı teşekkür ederim :)
Kullanıcı avatarı
akinsen52
Yeni Başlamış
 
Kayıt: 07 Eyl 2018 15:56
Meslek: endüstri mühendisi
Yaş: 24
İleti: 20
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara

Cevap: Cevap: Vba'da Fitreleme

İleti#8)  akinsen52 » 13 Şub 2020 09:00

Miraç CAN yazdı:Böyle bir şey mi?
Kod: Tümünü seç
kriter = Array(Empty, "a", "b", "c")
For i = 1 To 3
    ActiveSheet.Range("$B$1:$AK$13312").AutoFilter Field:=i, Criteria1:=kriter(i)
Next i


Tekrar merhaba, buradaki empty nedir onu sormayı unutmuşum?
Kullanıcı avatarı
akinsen52
Yeni Başlamış
 
Kayıt: 07 Eyl 2018 15:56
Meslek: endüstri mühendisi
Yaş: 24
İleti: 20
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara

Cevap: Vba'da Fitreleme

İleti#9)  Miraç CAN » 13 Şub 2020 10:17

İngilizce kelime anlamıyla aynıdır.
Boş/Yok demektir. boşluk veya "" bile yer kaplarken Empty hiçbirşeyi ifade eder.
Neden kullandık derseniz, dizi indexleri Option base 1 ya da özel boyutlandırma kullanmazsanız 0'dan başlar.
İşlem kolaylığı olsun diye, formata uyarlamak için 0. değeri boş yaptık. Çünkü arama alanı Field 1'den başlıyor, kriterler de 1'den başlasın diye.
Kullanıcı avatarı
Miraç CAN
Siteye Alışmış
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 38
İleti: 417
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Cevap: Vba'da Fitreleme

İleti#10)  akinsen52 » 13 Şub 2020 10:27

Miraç CAN yazdı:İngilizce kelime anlamıyla aynıdır.
Boş/Yok demektir. boşluk veya "" bile yer kaplarken Empty hiçbirşeyi ifade eder.
Neden kullandık derseniz, dizi indexleri Option base 1 ya da özel boyutlandırma kullanmazsanız 0'dan başlar.
İşlem kolaylığı olsun diye, formata uyarlamak için 0. değeri boş yaptık. Çünkü arama alanı Field 1'den başlıyor, kriterler de 1'den başlasın diye.


Gayet açıklayıcı oldu teşekkür ederim.
Kullanıcı avatarı
akinsen52
Yeni Başlamış
 
Kayıt: 07 Eyl 2018 15:56
Meslek: endüstri mühendisi
Yaş: 24
İleti: 20
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Yandex[Bot] ve 5 misafir

Bumerang - Yazarkafe