A

Çözüldü Aynı Sicilli Personelin Çoklu Kayıt Sorunu

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

Akif59

Yıllık Forum Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba Sayın @okutkan
örnek dosyada birtanesi sorun birtanesi sonradan ihtiyaç olan iki hususta müsait olduğununuzda tekrar desteğini rica ediyorum.

1_ UserFormla kaydını yaptığım personeli kayıt butonuna birden fazla basıldığından alt alta defarca kaydını yapıyor yada örneğin 5001 sicil nolu personel dikim departmanında kayıtlıysa başka departman sayfasınada yine 5001 siçil nosuyla kayıt yapılabiliyor buradadaki kurguyu siçil nosu üzerinden yapmıştınız bunun konrolü için nasıl yardımcı olbilirsiniz
siçil nosu tek ve özeldir aynı silil nosu ile ikinci bir kayıt aynı departmana yada başka bir departmana yapılamaması gerekir.

2_ ikinci husus ise hafta sonları (G ) sütunu X lenerek 6 saat mesai yazılan ve Hafta içide ( I ) Sütunu X lenerk 2 saat mesayi yazılan persenolin Karşısına Konulan (X ) Lerin gün sonunda toplu halde bir sonraki gün tekrar mesai yazılabilmesi için 18:00 Çıkışına toplu halde alabilmek için nasıl bir yol izlemeliyim.
 

Ekli dosyalar

Siz tarihi elle girdiğiniz için kod çalışmamış. Normalde kod içerisinde, dosyayı açtığınız günün tarihine göre işlem yapıyordu. Yani siz C3 hücresine yazdığınız tarih bir şeye etki etmiyordu. Aşağıdaki kodu kullanın. Tarihi C3 hücresinden alacak.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(22 satır)
 
Siz tarihi elle girdiğiniz için kod çalışmamış. Normalde kod içerisinde, dosyayı açtığınız günün tarihine göre işlem yapıyordu. Yani siz C3 hücresine yazdığınız tarih bir şeye etki etmiyordu. Aşağıdaki kodu kullanın. Tarihi C3 hücresinden alacak.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(22 satır)
Ben denemek için elle girdim
 
Merhaba Sayın @okutkan
Şu ana kadar yazdığınız her şey okey fakat biz mantıksal olarak bir hata yaptık

Hafta içi mesaileri için I Sütunu işaretlenerek günübirlik yazılabiliyor burda bir sorun yok

Ama hafta sonu mesaileri için benim G Sütununu bir gün önceden doldurmam gerekiyor. yani cumartesi işe gelecek personel için G sütununu Cumadan Doldurmam gerekiyor.
bunun için departman sayfaları için yazdığınız Change kodunda ve butonla çalışan çalıştır kodunda nasıl bir düzenleme yapmalıyız Müsait olduğunuzda yardımcı olabilirmisiniz
 

Ekli dosyalar

Merhaba, Kurgu sizin yapacağınız şey, kurguyu koda dökme konusu -elimden gelirse- benim yapacağım :) Sizin yaptığınız işin nasıl çözümleneceğini siz daha iyi bilmeniz lazım.
 
Merhaba Sayın @okutkan
sayfalardaki Worksheet_Change kodunu

1-Haftanın 5 günü pazertesi .....cuma D=X ise I=X ise Sağda mesai alanında O S aralığında C1 ile esit olan tarihe 2 saat mesai yazılacak kodu tetikleyen I sütunu olacak
2 Hafta sonu 2 gün için haftanın 5 günü Cuma D=X ise G=X ise Sağda mesai alanında T Sutununa 6 Saat mesi yazılmalı
burda kodu tetikleyen G Sütunu olacak.
 
Yapmak istediğinizi anlayıp, Change kodunu isteğinize göre düzenlemek zahmetli bir konu.
Sizin mantık hatası yaptık dediğiniz konu bizim son yaptığımız "Bir gün öncesine göre X lerin yerlerini değiştirme " işlemi hakkında değil mi? Eğer bu konuda eksiklik varsa sadece son işlem üzerinde değişiklik yapabiliriz.
 
"Bir gün öncesine göre X lerin yerlerini değiştirme " işlemi
BU Sorun çözüldü hem c1 değiştirerek hemde gün gün denedim hafta boyunca sorun yok
konular bir brine karıştı atrık
mantık hatasını hafta sonu mesailerini yazmada yaptım su an hafta sonu mesaisini hafta sonu yazabiliyorum oysa cuma dan
cumartesi mesailerini G Sütnunu doldurabilmeliyimdim benim hatam neyse zahmetli bir konuysa gerek yok yinede çok destek oldunuz emekleriniz için teşekkür ederim yeniden.
 
İstediğiniz iki koşulun sağlanması için yazılacak kodun bir zorluğu yok. Zor olan, kod yazılmadan önce tüm ayrıntıların düşünülmemiş olup, o kodun tekrar düzenlenmek zorunda kalınması.
İstediğiniz koşullar worksheet change olayında mevcut.
Aşağıdaki kod, C3 hücresinde Cumartesi-Pazar günü varsa devreye girer,
Devreye girdikten sonra; Yapılan Değişiklik G sütununda mı yoksa I sütununda mı olduğuna göre de iki koşul mevcut.
G sütununda işlem yapıldıysa, eşleşen tarih sütununa 6 sayısını yazar.
I sütununda işlem yapıldıysa, eşleşen tarih sütununa 2 sayısını yazar.
İstekleriniz, bu koşulları değiştirerek hallolacak bir sorun mu?
Ekli dosyayı görüntüle Puantaj_Ilk_n.xlsx
 
Moderatörün son düzenlenenleri:
İstediğiniz iki koşulun sağlanması için yazılacak kodun bir zorluğu yok. Zor olan, kod yazılmadan önce tüm ayrıntıların düşünülmemiş olup, o kodun tekrar düzenlenmek zorunda kalınması.
İstediğiniz koşullar worksheet change olayında mevcut.
Aşağıdaki kod, C3 hücresinde Cumartesi-Pazar günü varsa devreye girer,
Devreye girdikten sonra; Yapılan Değişiklik G sütununda mı yoksa I sütununda mı olduğuna göre de iki koşul mevcut.
G sütununda işlem yapıldıysa, eşleşen tarih sütununa 6 sayısını yazar.
I sütununda işlem yapıldıysa, eşleşen tarih sütununa 2 sayısını yazar.
İstekleriniz, bu koşulları değiştirerek hallolacak bir sorun mu?
Ekli dosyayı görüntüle 14415
Sayın @okutkan
Açıklamanız için teşekkür ederim kodun mevcut yapısı mükkemmel zaten sorun yok

Benim sorunum cuma günü G sütunu doldurabilmek ve cumartesi için 6 saat mesai yazdırabilmek. bunu yapmanın yolu şu an için C1 Hüçresindeki BUGÜN () Formülünden Vaz geçmek Yaklaşık 40 sayfa var dosyada her gün c1 hüçresindeki tarihi elle giricez artık yapacak bişey yok başka türlü cumartesi mesailerini cumadan yazıp cumartesi için servis organizasyonu yapmam mümkün değil asıl sorun bu 40 sayfanın kullanıcısının farklı olması.
 
Moderatörün son düzenlenenleri:
Belgenize, işleyişe, kodlara bakmadım.
Belgenin açılışında devreye girmek üzere istenilen sayfaların istenilen hücrelerine GÜNün tarihi (değer olarak) yazdırılabilir.
 
C3 hücresinde tarih var diye hatırlıyorum, iki mesajınızda da c1 hücresi demişsiniz.
Elle yazma yerine, buton ile aktif sayfadaki ilgili hücreye bugünün tarihi yazdırabilirsiniz.

Change olayında, tüm günlerde aynı işlemi koşul ile bir kaç farklı şekilde yapıyor. Aynı prosedür içinde, aynı gün için iki farklı işlem gerçekleştiremezsiniz. En azından bir yardımcı nesne ile bunu koşula bağlamanız lazım.
Örnek, checkbox işaretliyse ve gün cuma ise cumartesi için organizasyon hazırladığını koda bildirmiş olmanız gerekli.
 
C3 hücresinde tarih var diye hatırlıyorum, iki mesajınızda da c1 hücresi demişsiniz.
Elle yazma yerine, buton ile aktif sayfadaki ilgili hücreye bugünün tarihi yazdırabilirsiniz.

Change olayında, tüm günlerde aynı işlemi koşul ile bir kaç farklı şekilde yapıyor. Aynı prosedür içinde, aynı gün için iki farklı işlem gerçekleştiremezsiniz. En azından bir yardımcı nesne ile bunu koşula bağlamanız lazım.
Örnek, checkbox işaretliyse ve gün cuma ise cumartesi için organizasyon hazırladığını koda bildirmiş olmanız gerekli.
Sayın @okutkan
Sizi yorduğumun farkındayım kusura bakmayın lütfen
checkbox Olayı çok mantıktı bence cuma günü checkbox işaretleyerek koda c3 deki tarihin bir sonrası cumartesitye organizasyon yapacağını bildirebiliriz dediğiniz gibi
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst