Hücre değerine göre satır gizleme

  • Konuyu başlatan Konuyu başlatan nasyarx
  • Başlangıç tarihi Başlangıç tarihi
@nasyarx

İsteğiniz;
-- SÖZLEŞMELİ seçiminin yapıldığı hücreye göre ana liste E sütununda koşula uyanlardan,
en fazla K2'deki sayı kadar olmak üzere, ÇÖZGEN sayfasından EKDERS sayfasına aktarma yapılması mıdır?
-- Yoksa EKDERS sayfasındaki veriler var ve sadece SÖZLEŞMELİ koşuluna uymayanlara ait satırların gizlenmesi midir?

İsteğinizi tam olarak anlayamadım.

.
 
Belgenizin VBA kısmı şifreli @nasyarx

.
Selamlar,
Admin, rica etsem ilk yüklediğim dosyayı siler misiniz? Öğretmenlerin kişisel bilgileri var. Gözümden kaçmış.
Vba şifresini de kaldırdım. Afola
Teşekkürler
@nasyarx

İsteğiniz;
-- SÖZLEŞMELİ seçiminin yapıldığı hücreye göre ana liste E sütununda koşula uyanlardan,
en fazla K2'deki sayı kadar olmak üzere, ÇÖZGEN sayfasından EKDERS sayfasına aktarma yapılması mıdır?
-- Yoksa EKDERS sayfasındaki veriler var ve sadece SÖZLEŞMELİ koşuluna uymayanlara ait satırların gizlenmesi midir?

İsteğinizi tam olarak anlayamadım.

.
Uymayanlara ait satırların gizlenmesi ve koşula uyanlar içinde k2 deki kadar göstermek.
 
O zaman ÇÖZGEN sayfasındaki tüm isimlerin, başlangıçta EKDERS sayfasında hazır olması gerekmez mi?
Listenin son satırındaki (zaten sözleşmeli değil) İrem YILDIRAK EKDERS sayfasında yok.
 
@nasyarx

ÇÖZGEN sayfasındaki isim listesinin aynı sırayla ve
ikişer satırlık alan kaplayacak şekilde EKDERS sayfasında hazır olduğu varsayımıyla;

-- EKDERS sayfasının kod bölümünün en üstündeki Dim say As Byte satırını silin.
-- Worksheet_Change kodunduki say = [K2].Value + 1 satırını silin.
-- Worksheet_Change kodunduki ilk satırı şöyle değiştirin.
If Target.Address(0, 0) <> "K2" And Target.Address(0, 0) <> "F2" Then Exit Sub
-- gizle isimli makro kodlarını da aşağıdakiyle değiştirin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(24 satır)
 
ÇÖZGEN sayfasındaki isim listesinin aynı sırayla ve
ikişer satırlık alan kaplayacak şekilde EKDERS sayfasında hazır olduğu varsayımıyla;
Selamlar,
İkişer satır sınırlayıcı oluyor. Her öğretmen için satır sayısı farklı olabiliyor. Ayrıca F2 ve K2 birlikte çalışması sorun oldu galiba.
sanki bu söylediğiniz daha yerinde olacak:
"-- Yoksa EKDERS sayfasındaki veriler var ve sadece SÖZLEŞMELİ koşuluna uymayanlara ait satırların gizlenmesi midir?"
Bu cümleden hareketle F2 değerine göre uymayan diğer öğretmen satırları gizlensin.
Teşekkürler.
 
@nasyarx

Bir öğretmene ait satırlar kontrol edilirken;
-- öğretmene ait verilerin kaç satırda yer aldığı bilgisi B sütunundaki ü ve û karakterlerinden,
-- öğretmenin statüsü (SÖZLEŞMELİ gibi) EKDERS sayfasıyla, ÇÖZGEN sayfasındaki TC Kimlik numaralarından
hareket edilmektedir.

Önceki cevapta verdiğim kod yerine şunu kullanın (önceki cevabımdaki silme önerilerim bakidir).

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(39 satır)

.
 
Moderatörün son düzenlenenleri:
@nasyarx

Bir öğretmene ait satırlar kontrol edilirken;
-- öğretmene ait verilerin kaç satırda yer aldığı bilgisi B sütunundaki ü ve û karakterlerinden,
-- öğretmenin statüsü (SÖZLEŞMELİ gibi) EKDERS sayfasıyla, ÇÖZGEN sayfasındaki TC Kimlik numaralarından
hareket edilmektedir.

Önceki cevapta verdiğim kod yerine şunu kullanın (önceki cevabımdaki silme önerilerim bakidir).

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(39 satır)

.
Ömer Bey,
Hakkınızı helal ediniz. Kişi sayısı fazla seçtiğimde boş satırlar görünmüyor. Image 3.webp
 
Moderatörün son düzenlenenleri:
@nasyarx

Ben tam tersine, kişi bilgileri olmayan satırların zaten kapsam dışı olacağını düşünmüştüm.

Her neyse; verdiğim kodun son kısmındaki şu satırı silip,
Else: ek.Rows(XDo + 1 & ":" & ts - 1).EntireRow.Hidden = True: Exit For

yerine, şu satırları ekleyin.
ElseIf ek.Cells(XD, 9) = "" And say < a Then say = say + 1: If say = a Then ek.Rows(XD + 1 & ":" & ts - 1).EntireRow.Hidden = True: Exit For

.
 
@nasyarx

Ben tam tersine, kişi bilgileri olmayan satırların zaten kapsam dışı olacağını düşünmüştüm.

Her neyse; verdiğim kodun son kısmındaki şu satırı silip,
Else: ek.Rows(XDo + 1 & ":" & ts - 1).EntireRow.Hidden = True: Exit For

yerine, şu satırları ekleyin.
ElseIf ek.Cells(XD, 9) = "" And say < a Then say = say + 1: If say = a Then ek.Rows(XD + 1 & ":" & ts - 1).EntireRow.Hidden = True: Exit For

.
Sağolun, varolun.
 
Geri
Üst