B

Çözüldü Listboxla ilgili sütunları gizle göster

  • Konuyu başlatan Konuyu başlatan Believing
  • Başlangıç tarihi Başlangıç tarihi

Believing

Yıllık Site Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sayın Formdaş arkadaşlar,

Ekteki örnek çalışmada kullandığım Combobox istediğim senaryoların tamamını gerçekleştiremiyorum. Sayfalarda kullandığım mevcut yöntem ve kodlar sayfalar çoğaltılınca sorun çıkartmaktadır. Bu sebep ile çalışma içerisinde belirttiğim senaryoları Listbox ile yapılabileceğini düşünmekteyim. İstenilen senaryoları gerçekleştirebilmek için nasıl bir yöntem ve kod kullanmalıyım?
Benim için kıymetli olan yardımlarınızı rica ediyorum.

Saygılarımla,
 

Ekli dosyalar

@Believing
Dosyanızda herhangi bir açıklama göremiyorum.
İsteğiniz tam olarak nedir? Senaryo dediğiniz nedir?

PARAMETRE sayfasındaki hafta başı ve sonu tarihlerinin olduğu alana bence ihtiyaç yok.
Bir ayın ilk ve son günü tarihlerinin içinde olduğu haftanın Pazartesi ve Pazar gününe denk gelen tarihler,
liste olmadan/oluşturmadan formülle kolaylıkla tespit edilebilir çünkü.


.
 
@Believing

Ekteki belgeyi deneyiniz.

-- PARAMETRE sayfası A:E sütunları işlemlerde kullanılmaz ancak bu alanları silmedim. Kodlarda tarihler için gerekli ay no, PARAMETRE G sütunundaki ay isimlerine göre tespit edilir. YIL bilgisi ise 2021 olarak kullanıldı. Gerekirse yıl bilgisi de MAIN_PAGE sayfasındaki bir hücreden de aldırılabilir.
-- Belgede gizlenmiş durumda, ŞABLON isimli bir sayfa mevcut.
-- B2 hücresinde seçilen aya ait SHIFT sayfası yoksa, ŞABLON sayfasının kopyası oluşturularak tarihler veri doğrulama listesi vs oluşturularak sayfa kullanıma hazır hale getirilir. Dolayısıyla personel listesi güncelleme gibi bir işlem olacaksa veriler ŞABLON isimli sayfaya alınmalıdır.
-- B2 hücresinde seçilen aya ait SHIFT sayfası zaten varsa, sadece o sayfaya gidilir.
-- SHIFT sayfalarında , B3 hücresindeki VERİ DORULAMA listesinde sadece ilgili aydaki hafta isimleri yer alır. Hücre silinirse aydaki tüm hafta sütunları gösterilir, bir hafta seçilirse sadece o haftaya ait sütunlar görünür hale gelir . Ayrıca en sağdaki İMZA sütunu her zaman görünür durumdadır.
-- SHIFT sayfalarında B3 hücresine çift tıklama yapılarak boş satırlar (A sütunundaki en büyük değerin bulunduğu satırdan sonrakiler) gizlenir veya gösterilir.

.
 

Ekli dosyalar

Sayın Ömer bey,

Ellerinize, emeğinize ve bilginize sağlık. Çalışma benim için istemediğim halde öngürülerinize dayalı eklediğiniz senaryoları barındıran fazlaca profesyonel bir çalışma olmuştur. Bu ve benzeri sebepler ile sürekli size ve çalışanlarınıza karşı kendimi hep borçlu hissediyor.
ALLAH sizlerden, sevdiklerinizden ve sebep olanlardan razı olsun.
Hakkınızı helal ediniz lütfen... Cumanız hayırlara vesile olur inşallah.

Saygılarımla,
 
Estağfurulluh @Believing .

Memnuniyetinizi (yapıyorsunuzdur, bundan şüphemiz yok) ;
-- forumda mümkün olduğunca sık ve uzun süreli çevrimiçi kalarak,
-- etrafınızdaki Excel kullanıcılarını forumumuzdan haberdar edip, üye olmalarını salık vererek
gösterebilirsiniz.

İyi çalışmalar dilerim.

.
 
Sayın Ömer bey,

Bu çalışmada bazen tüm haftaları yanyana görerek çalışma ihtıyacı da oluşmaktadır.
Bunun için nasıl yöntem uygulamalıyım.

Saygılarımla,
 
Veri doğrulama uygulanmış hücreyi DELETE ile silin.
Merhaba Ömer bey,

Bu çalışmayı en büyük çalışanı olan departmana uygulamaya çalıştığımda, SHIFT çalışmasını kendi içinde başlık ve aratoplam satırları ile 18 ayrı tablo ve toplamda 380 satırdan oluşturabiliyorum.
Oluşan bu durumda Gizle/Göster işlevi için farklı bir yönteme ihtiyaç duyuyorum.
G8:G380 aralığındaki boş ve dolu satırlara göre yapılması daha uygun olur diye düşünüyorum.
Çalışmanın orjinal halini malum yasa nedeniyle paylaşamıyor.
Onun dışındaki tüm özellikler benim için fazlasıyla profesyonelce olduğunu belirtmeliyim.

Saygılarımla,
 
Şu an bilgisayarda değilim.
İlk örnek belgenizde gördüğüm satır gizle göster makrosunu hatırlar gibi oldum.
Kodlar fena değildi. Bu kod istediğiniz şekilde çalışıyordur umarım.
GÖSTER/GİZLE hücresine çift tıklamayla bu kodu ilişkilendirmeyi deneyin. Ancak o kodu elden geçirip AKTİF SAYFADA işlem yapar hale getirmek gerekebilir. Kodun detaylarını hatırlamıyorum.
 
@Believing
Bahsettiğim, satır göster/gizle makrosuna (Toogle_Button ile) göz attım.
Ayrıca kendi oluşturduğum kodları ve kod yapısını da gözden geçirerek yeni bir işleyiş mantığı oluşturdum.
Böylece makro kodları sadece MAIN_PAGE sayfasının kod bölümüyle, ThisWorkbook bölümünde olacak.

Aşağıdaki işlemler için varsayımlar şöyle;
-- Satır GÖSTERme/GİZLEme işlemi sadece ismi ..._SHIFT olan tüm sayfalarda geçerlidir,
-- İşlem sadece AKTİF SHIFT sayfasında yapılır,
-- İşlem, ismi ..._SHIFT olan sayfaların G sütunundaki hücrelerin DOLU/BOŞ durumuna göre göre yapılır.
-- işlemin kapsadığı son satır diye sabit bir satır numarası yoktur ve tüm gizli satırlar görünür yapıldığında,
DOLU/BOŞ kontrolü, alttan üste doğru G sütunundaki son dolu hücreye kadar devam eder.
-- İşlem, benim gönderdiğim son belgedeki yapıya uygun olarak SHIFT sayfalarında B3 hücresine çift tıklama ile tetiklenir.

Yukarıdaki varsayımlarda sorun yoksa (işlemleri benim gönderdiğim son belge üzerinden uygulayınız);
-- Öncelikle varsa mevcut tüm SHIFT sayfaları silin,
-- MAIN_PAGE sayfasının kod bölümünde mevcut, benim oluşturduğum kodlar olduğu gibi dursun,
-- Gerçek tablo yapısı (personel listesi, alt alta tablolar vs) gizli durumdaki ŞABLON sayfasında oluşturun.
-- ŞABLON sayfasının kod bölümünde mevcut (yine ben oluşturmuştum) tüm kodları silin,
-- MAIN_PAGE B2 hücresinden ay seçimi yapılarak SHIFT sayfası/sayfaları oluşturun,
-- VBA ekranında ThisWorkbook (BuÇalışmaKitabı) bölümüne aşağıdaki kodları yapıştırın.
-- Belgeyi kaydedin (veya farklı kaydedin).

Artık SHIFT sayfalarındaki;
-- B3 hücreerine çift tıklama ile satır göster/gizle ve
-- C3 hücrelerindeki açılır listelerden hafta seçerek/hücre içeriğini silerek hafta göster/gizle
işlemleri için denemeler yapabilirsiniz.


VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(35 satır)
 
Günaydın Ömer bey,

Size karşı her mesajınızda mahçup oluyorum. Her konuya ayrı bir özenle, profesyonelce çözümler üretiyorsunuz.
Orjinaj çalışmamdaki yapı nedeniyle son yaptığınız kodları aşağıdaki hücrelerden yönetmek zorunluğu ortaya çıkmıştır.
MAIN_PAGE = B2 hücresi F8 olarak,
ŞABLON= B3 hücresi C3 olarak,
ŞABLON= C3 hücresi D3 olarak, orjinaj çalışmaya uygulamaya çalıştım, maalesef kodları olması gerektiği şekliyle çalıştıramadım.
Yukarıdaki şekilde düzenlemeniz durumunda konu amacına ulaşmış olacaktır.

Saygılarımla,
 
@Believing

Belgenin düzenlenmiş hali ekte.

Kodların tümünü de buraya not edelim ve öylece kalıcı olsun.
-- İlk kod bloku ThisWorkBook kod bölümünde (satır göster/gizle ve hafta sütunlarını göster/gizle)
-- İkinci kod bloku MAIN_PAGE sayfasının kod bölümünde ( aylık SHIFT sayfası oluşturma, Veri doğrulama listesi oluşturma)

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

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

Ekli dosyalar

Üst