Kritere Göre Kura ve Personel Atama

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

ycicek

Kullanıcı
Katkı: %0
Excel Versiyonu
Excel 365
Excel Sürümü
32 Bit
Excel Dili
Türkçe
Merhaba Sevgili Üstadlar, ekli belgede bir kura şablonu oluşturdum. Vba Kod konusunda yardıma ihtiyacım var. Dosya içerisinde detaylar yazıyor.
Elimde @OMER Bey 'e ait bir kod var ama kriter olarak düzenleyemedim.

D1 Başlangıç No ve D2 Bitiş No Olsun
Örnek 301KB, 301KU şeklinde
Bir kişi birden fazla yere atanamasın hem Asil hemde Yedek Olamasın
Performans puanı 0 ise Hiç Atanmasın
Performans Puanı 5'den aşağıya 1'dahil Önce 5 yetmediyse 4 oda yetmediyse 3 vs sırayla atama yapabilsin.
Önce KB-Komisyon Başkanını atama yapsın D sütununda Asil Kura Sonucuna
Sonra KU - Komisyon Üyesi yukarıdaki kriterlerle aynı yine D sütununda Asil Kura Sonucuna
E Sütununada atama yaptığı KB ve KU'nun Yedeklerini
YKB ve YKU seklinde kura çekmek istiyoruz. Yine yukarıdaki kriterlerle aynı

Yardımlarınız için şimdiden şükranlarımı sunuyorum. Hayırlı günler.

Kod Aşağıdaki gibi;

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (21 satır). Giriş Yap
 

Ekli dosyalar

Çözüm
Merhaba, kurayı aşağıdaki makroyla çekebilirsiniz. Dosyanızdaki düğme Sayfa1.KuraCekimi makrosuna bağlı, ancak dosyada bu makro bulunmuyor. Kodu Alt+F11 ile açılan düzenleyicide Sayfa1 (KURA ÇEKİMİ -1) modülüne yapıştırmanız yeterlidir. Makro D1 ve D2'deki numaralara göre D sütununa KB ve KU, E sütununa YB ve YU sonuçlarını yazar.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (9 satır). Giriş Yap
İsteğiniz karışık/zahmetli ve epey zaman ayrılmasını gereken bir kodlama yapılmasını içeriyor gibi görünüyor açıkçası.
Her neyse yine de en azından konunun netleşmesi bakımından birkaç şey sorayım.
-- Kaç adet komisyon (asil ve yedek) oluşturulması gerekiyor? D2-D1+1 adet mi?
-- Bir komisyon için 1 başkan gerekir o tamam da komisyon üye sayısı kaç kişidir (asıl ve yedek) ?
 
Sevgili @Ömer BARAN hocam merhaba,

- Komisyon Sayısı sizin de buyurduğunuz gibi D2-D1+1 ( Komisyon Numaraları D1 dahil başlayarak D2 dahil son bulan rakamlardır. )
- Örnek D1'de 301 yazıyorsa 301KB ( KB Komisyon Başkanı ) ve 301KU ( KU Komisyon Üyesi )

- Her Komisyon İki kişiden oluşuyor 1 Başkan 1 Asil Üye bu şekilde işimizi görür yedekler için ikinci kez kura çekilebilir fakat asil üyeliklere atananlar yedek olarak atanmamalı.
- Her komisyon iki üyeden oluşacağı için 1 Yedek Başkan ve 1 Yedek Üye gerekiyor.
Örnek 301YB VE 301YU

Performans kısmına gelirsek çok elzem değil. Sadece performans numarası 0 olanları atamasa bile yeterli.

İlginiz için çok teşekkür ederim.
 
Merhaba, kurayı aşağıdaki makroyla çekebilirsiniz. Dosyanızdaki düğme Sayfa1.KuraCekimi makrosuna bağlı, ancak dosyada bu makro bulunmuyor. Kodu Alt+F11 ile açılan düzenleyicide Sayfa1 (KURA ÇEKİMİ -1) modülüne yapıştırmanız yeterlidir. Makro D1 ve D2'deki numaralara göre D sütununa KB ve KU, E sütununa YB ve YU sonuçlarını yazar.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (73 satır). Giriş Yap

Kod nasıl çalışır?
  1. D1 ve D2 kontrol edilir, komisyon sayısı D2-D1+1 olarak alınır. 301 ile 321 arası 21 komisyondur.
  2. Personel satırları rastgele karıştırılır ve puanı 5 olandan 1 olana doğru dizilir. Puanı 0 olanlar listeye alınmaz.
  3. Her komisyon için 4 kişi gerekir. Uygun kişi sayısı yetmezse uyarı verilir ve mevcut sonuçlar değiştirilmez.
  4. Görevler bu sıradan dağıtılır: önce tüm KB, sonra KU, YB ve YU. Listeden alınan kişi bir daha kullanılmadığı için aynı kişi hem asil hem yedek olamaz.

Notlar
  • Kod ilk isteğinizdeki 5'ten 1'e sırayı uygular. Dosyanızda puanı 5 olan 833 kişi bulunduğundan 84 görevin tamamı bu kişilere çıkar. Son mesajınızdaki gibi yalnız 0 puanlıları dışarıda bırakmak yeterliyse If veri(sira(i), 3) = p Then satırı If veri(sira(i), 3) > 0 And p = 5 Then olarak değiştirilebilir.
  • Yedek görevlerde son mesajınızdaki yazım kullanıldı: 301YB ve 301YU. K1 ve M1 hücrelerindeki YKB ve YKU başlıklarını buna göre değiştirebilirsiniz.
  • Düğmeye her basıldığında D ve E sütunlarında 6. satırdan aşağısı silinir ve kura yeniden çekilir. D1 ve D2 korunur. Filtre açıksa önce kaldırılır.
  • Her satır ayrı bir kişi sayılır. Aynı adı taşıyan farklı siciller ayrı kişi olarak değerlendirilir.
 
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst