• DİKKAT

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

Filtreleme Hk.

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
777
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Merhaba arkadaşlar.

İçinden çıkamadığım bir sorum olacak. Aşağıdaki kodda sh1 sayfasının 8. sütunundaki veri "KADROLU" veya "KAYMAKAMLIK OLURU" ve 16 sütunundaki veri "ÖĞRETMEN" veya "UZMAN ÖĞRETMEN" ise filtreleme yapsın istiyorum. Ama 16 sütunda "ÖĞRETMEN" ve "UZMAN ÖĞRETMEN" olmayanları da filtreleme yapıyor. Yardımcı olursanız çok sevinirim.

If sh1.Cells(i, 8).Value = "KADROLU" Or sh1.Cells(i, 8).Value = "KAYMAKAMLIK OLURU" And sh1.Cells(i, 16).Value = "UZMAN ÖĞRETMEN" Or sh1.Cells(i, 16).Value = "ÖĞRETMEN" Then


Başka bir yerde aşağıdaki gibi bir filtreleme yapıyorum onda bir sorun çıkmıyor. Kodsları oradan kopyalayıp yapıştırıyorum. Sadece fazladan yukarıdaki kodda kırmızı renkli olan kodları ekliyorum.

If sh1.Cells(i, 8).Value = "KADROLU" And sh1.Cells(i, 16).Value = "ÖĞRETMEN" Or sh1.Cells(i, 16).Value = "UZMAN ÖĞRETMEN" Then


Bir de aynı sayfada daha önce filtrelenmiş olan verileri aşağıdan yukarıya doğru silip yeni filtreleme bilgilerini yazıyor fakat aşağıdaki kodlar ile silme yaparken çok yavaş siliyor. Silme işlemini nasıl hızlandırabilirim. 90 satırı 10-15 saniyede ancak siliyor.

SonSatirsil = sh2.Cells(Rows.Count, "b").End(3).Row
For ssil = SonSatirsil To 7 Step -1
sh2.Cells(ssil, SonSatirsil).EntireRow.Delete
Next ssil
 
Son düzenleme:
Merhaba.
Eğer parantez kullanırsanız önce parantez içindeki eşitliğe bakılır eğer parantez kullanmazsanız eşitlik soldan sağa doğru kontrol edilir.
Kod aşağıdaki gibi olmalı.
Kod:
If (sh1.Cells(i, 8).Value = "KADROLU" Or sh1.Cells(i, 8).Value = "KAYMAKAMLIK OLURU") And (sh1.Cells(i, 16).Value = "UZMAN ÖĞRETMEN" Or sh1.Cells(i, 16).Value = "ÖĞRETMEN") Then
 
Son düzenleme:
Diğer sorunuzda döngü kullanmanıza gerek yok.

Kod:
sh2.Rows("7:" & SonSatirsil).Delete
 
Rica ederim. Kolay gelsin.
 
Geri
Üst