CheckBox ile Personeli Pasifleştirme

  • Konuyu başlatan Konuyu başlatan sedat2161
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Kısa Açıklama

CheckBox ile Personeli Pasifleştirme isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe

Ekli dosyalar

İşte bu tür isteklerin, belgedeki kodlamaların ilk aşamasında belirtilmesi gerekir.

AKTİF/PASİF gibi değil de satırda uygun bir sütuna bir işaret/harf bir şey yazılması ve
diğer işlem kontrollerinin de önce bu alanda yapılması, kontrolden geçilmediğinde de işlemin yapılmaması gibi bir yöntem olmalıydı.

Ya da PASİF personel için, benzer yapıda yeni bir sayfa oluşturup;
-- pasifleştirme işlemini, personel bilgilerini asıl sayfadan pasif sayfasına taşıma,
-- aktifleştirme işlemini, personel bilgilerini pasif sayfasından asıl sayfaya taşıma,
gibi düşünmeliydiniz.

Belirttiğim gibi; her hâlükârda tüm kodların elden geçirilmesi gerekir gibi görünüyor.
 
İşte bu tür isteklerin, belgedeki kodlamaların ilk aşamasında belirtilmesi gerekir.

AKTİF/PASİF gibi değil de satırda uygun bir sütuna bir işaret/harf bir şey yazılması ve
diğer işlem kontrollerinin de önce bu alanda yapılması, kontrolden geçilmediğinde de işlemin yapılmaması gibi bir yöntem olmalıydı.

Ya da PASİF personel için, benzer yapıda yeni bir sayfa oluşturup;
-- pasifleştirme işlemini, personel bilgilerini asıl sayfadan pasif sayfasına taşıma,
-- aktifleştirme işlemini, personel bilgilerini pasif sayfasından asıl sayfaya taşıma,
gibi düşünmeliydiniz.

Belirttiğim gibi; her hâlükârda tüm kodların elden geçirilmesi gerekir gibi görünüyor.
Hocam hayırlı sabahlar.
Benim pasif personel yapmamın amacımı yine açıklayayım.
---FİŞ TESLİM sayfasında bulunan personellerin J sütununa eklediğim pasif hücrelerine userform üzerindeki CheckBox2 ile onay işareti koyulanların;
1-Puantaj sayfasına aktarılmaması
2-Fiş teslim yazdır butonu ile birimlere göre yazdırdığımda yazdırılmaması.
 

Ekli dosyalar

Fiş Teslim sayfasında J sütununda herhangi bir veri göremedim. Sadece J1 hücresinde tarih var.
Soruyu yanlış anlamadıysam şu şekilde olabilir;
J sütununda değer olan satırlar gizlenir ve yazdırma işlemi gerçekleşir. Yazdırma işlemi bittikten sonra gizlenen satır tekrar gösterilir.
 
Fiş Teslim sayfasında J sütununda herhangi bir veri göremedim. Sadece J1 hücresinde tarih var.
Soruyu yanlış anlamadıysam şu şekilde olabilir;
J sütununda değer olan satırlar gizlenir ve yazdırma işlemi gerçekleşir. Yazdırma işlemi bittikten sonra gizlenen satır tekrar gösterilir.
Hayırlı sabahlar okutkan hocam.
Haklısınız yanlış dosyayı paylaşmışım.
------FİŞ TESLİM sayfasında bulunan personellerin J sütununa CheckBox2 (veya diğer bir araç ile) ile onay işareti verildikten sonra.
------User form üzerinde bulunan FİŞ TESLİM YAZDIR Butonunda bulunan yazdır kodunda değişiklik yapılarak onay işareti bulunan personel yazdırılmayacak.
 

Ekli dosyalar

Verdiğim cevaptaki çalışma sistemi şöyle (istek bu diye anlamıştım) ;
-- H sütunundaki BİRİM bilgileri benzersiz olarak BA sütununa yazdırılır,
-- BA sütununa yazdırılan BİRİM bilgileri için tek tek döngü kurulur ve H sütunu (sütun no 8) filtrelenir,
-- J sütununu BOŞ olanlar diye filtrelenir.
Filtre (ler) sonucunda KALAN veri satırı varsa yazıcıya gönderilir (burada bir sorun görmüyorum) .

Kodlama tekniği bakımından düzeltilmesinde yarar olan tek şey;
.Range("$A$4:$J$" & sonA).AutoFilter Field:=10, Criteria1:="="
satırını sonBA = .... satırıyla For ba = 2 To sonBA satırının arasına taşımak olabilir.

CheckBox ile PASİF işareti koymakla ilgili sorun şu;
durum çift tıklamayla X yazdırmak gibi değil, çünkü X yazdırırken Listview'de bir satır seçili hale gelmiş oluyor,
dolayısıyla X yazılacak veri satırı SEÇİLİ OLAN diye bulunabiliyor.
Oysa CheckBox'a tıklama ile PASİF işareti koyulacağında, "hangi satıra sorusunun" cevabı açıkta kalıyor.
Diyelim bu durum halledildi, yani listeden seçim yapıldı ve CheckBox tıklandı.
İyi de işaretin koyulup koyulmadığını userformdaki Listview üzerinde göremeyeceksiniz.
Çünkü o sütun Listview listesine dahil değil. Yani X koymakla durum aynı değil.

İşte bu nedenle, daha evvel yazdığım cevaplardan birinde tüm kodların elden geçirilmesinin gerekebileceğini belirtmiştim.
 
Verdiğim cevaptaki çalışma sistemi şöyle (istek bu diye anlamıştım) ;
-- H sütunundaki BİRİM bilgileri benzersiz olarak BA sütununa yazdırılır,
-- BA sütununa yazdırılan BİRİM bilgileri için tek tek döngü kurulur ve H sütunu (sütun no 8) filtrelenir,
-- J sütununu BOŞ olanlar diye filtrelenir.
Filtre (ler) sonucunda KALAN veri satırı varsa yazıcıya gönderilir (burada bir sorun görmüyorum) .

Kodlama tekniği bakımından düzeltilmesinde yarar olan tek şey;
.Range("$A$4:$J$" & sonA).AutoFilter Field:=10, Criteria1:="="
satırını sonBA = .... satırıyla For ba = 2 To sonBA satırının arasına taşımak olabilir.

CheckBox ile PASİF işareti koymakla ilgili sorun şu;
durum çift tıklamayla X yazdırmak gibi değil, çünkü X yazdırırken Listview'de bir satır seçili hale gelmiş oluyor,
dolayısıyla X yazılacak veri satırı SEÇİLİ OLAN diye bulunabiliyor.
Oysa CheckBox'a tıklama ile PASİF işareti koyulacağında, "hangi satıra sorusunun" cevabı açıkta kalıyor.
Diyelim bu durum halledildi, yani listeden seçim yapıldı ve CheckBox tıklandı.
İyi de işaretin koyulup koyulmadığını userformdaki Listview üzerinde göremeyeceksiniz.
Çünkü o sütun Listview listesine dahil değil. Yani X koymakla durum aynı değil.

İşte bu nedenle, daha evvel yazdığım cevaplardan birinde tüm kodların elden geçirilmesinin gerekebileceğini belirtmiştim.
Hocam ben listview listesine dahil edebilirim. Hocam bunu hal etmeye çalışayım ondan sonra yine dosyayı paylaşırım. sonra duruma bakarız.
 
Moderatörün son düzenlenenleri:
Sayın hocalarım dosyam için sizin desteklerinizle çok zahmet çekerek bu hale beraber getirdik ve şimdi sona yaklaştık. Ömer BARAN hocamızın 11 nolu mesajındaki hususları yerine getirmem için gerekli bilgim yok. Sadece listview de başlığın görünmesini sağlayabildim. Diğer düzeltmeleri yapmaya çalıştım hep hata uyarılarıyla karşılaştım. Lütfen Ömer BARAN hocamızın 11 nolu mesajına bakıp diğer düzeltmeler için yardım edin ki Ömer BARAN hocamız sorunu çözsün.
 

Ekli dosyalar

@sedat2161
İlk kurguda seçenekleri P ve BOŞ diye düşünmüştük, şimdi ise P ve A kullanılıyor durumda.
Belgedeki kodu güncelledim, bu belge üzerinde denersiniz.

11.07.2022 13:51 Sonradan eklenen not
Eklediğim belge, tüm sorunların giderildiği, tüm isteklerin karşılandığı nihai çözüm belgesiyle değiştirildi.
 

Ekli dosyalar

@sedat2161
İlk kurguda seçenekleri P ve BOŞ diye düşünmüştük, şimdi ise P ve A kullanılıyor durumda.
Belgedeki kodu güncelledim, bu belge üzerinde denersiniz.
Hocam iyi günler . Hocam Aktif ve Pasif çok güzel çalışıyor. P olanlar yazdırılmıyor. Emeğinize ve bilginize sağlık.
Hocam denemelerim sonucunda 2 sorun fark ettim.
1-FİŞ TESLİM YAZDIR butonuna tıkladığımda ilk sayfayı 2 defa yazıyor.
2-CheckBox1 ile X leri toplu aktarırken P olanlara X lerin gelmemesi mümkün mü acaba.
 
-- Mükerrer yazdırma:
H sütununda sayı GİBİ GÖRÜNEN METİNsel değer vardır. Her neyse; kodda, kırmızı satırların arasına yeşil olanı ekleyince hallolur.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(3 satır)
-- P olanlar dışındakilere X yazdırma:
CheckBox_Click kodundaki For ..... Next arasındaki satırı şöyle değiştirin.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
 
Çözüm
-- Mükerrer yazdırma:
H sütununda sayı GİBİ GÖRÜNEN METİNsel değer vardır. Her neyse; kodda, kırmızı satırların arasına yeşil olanı ekleyince hallolur.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(3 satır)
-- P olanlar dışındakilere X yazdırma:
CheckBox_Click kodundaki For ..... Next arasındaki satırı şöyle değiştirin.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
Hocam kodları uyguıladım hepsi tam çalıştı emeğinize bilgilinize sağlık.
 
Merhaba sayın hocalarım. Yaklaşık 10 gündür üzerinde çalıştığım dosyam sayın Ömer BARAN, okutkan ve halily hocamın büyük destekleriyle çözüme kavuşmuştur. . Emeklerinden ve ayırdıkları değerli zamanlarından dolayı Tüm hocalarıma ayrı ayrı teşekkür ederim. İyi ki varsınız .
Konu çözülmüştür.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst