[Yardım]  İzin takibi ve puantaja aktarma

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

İzin takibi ve puantaja aktarma

İleti#1)  cemalabi » 04 Tem 2019 13:25

Arkadaşlar öncelikle saygılarımı sunuyorum.
Ekli dosyamda İzinTürü bilgisini girdiğimde; Girilen izin türüne göre izin başlangıç ve bitiş tarihini "İzinTakibi" sayfasındaki ilgili kişinin ilgili tarih alanına kaydetmesini istiyorum.
Örneğin; Mazeret İznini 01.07.2019 - 03.07.2019 tarihleri arasında açıklaması ile birlikte kaydettiğimizde, bu iznin kısa kodu olan "Mİ" kodunu, "Puantaj" Sayfasındaki o ayın ilgili tarih hücresine girilen iki tarih aralığı kadar yazmasını istiyorum. UserForma aktarımını nasib olursa ben aktacağım.
Yardımlarınız için şimdiden teşekkür ederim.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#2)  cemalabi » 05 Tem 2019 11:05

Değerli Üstadlarım!
For Next ve If Then Else ile yapmaya çalışıyorum. Ancak fonksiyonu bir türlü yapamıyorum. Daha doğrusu işi kurgulayamıyorum. Kodlarla ilgili fazla bilgi olmayınca da sonuç da yapamıyorum. Yardım ederseniz çok mutlu olacağım.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#3)  cemalabi » 05 Tem 2019 13:32

Kod: Tümünü seç
Private Sub CmdB5_Ekle_Click()

    KayıtSatırı = WorksheetFunction.CountA(Worksheets("İzinTakibi").Range("B:B")) + 1
    Set Bul = Worksheets("İzinTakibi").Cells(1, 17).Find(ComB5_İzinTürü, LookAt:=xlWhole)
       
    Worksheets("İzinTakibi").Cells(KayıtSatırı, 2) = ComB5_ADISOYADI
         
 
     Worksheets("İzinTakibi").Cells(KayıtSatırı, Bul) = Tb5_İzinBaşlangıçTarihi
     Worksheets("İzinTakibi").Cells(KayıtSatırı, Bul + 1) = Tb5_İzinBitişTarihi


End Sub


Bu modül içerisinde değişik yöntemleri deniyorum maalesef sonuca ulaşamıyorum.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#4)  cemalabi » 06 Tem 2019 20:12

Yardım edecek bir kişi yok mu dostlar? Sorduğum soru çok mu zor veya sorulmaya değer bulunamayacak kadar basit mi anlayamadım. Ya da ben yanlış birşey mi yazdım?
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: İzin takibi ve puantaja aktarma

İleti#5)  askmadige34 » 06 Tem 2019 21:05

Yapmak istediğiniz tam anlaşılmıyor. Form açıldığı zaman hata veriyor.
Kod: Tümünü seç
With Me.ComB5_ADISOYADI
                        .AddItem "Personel İsmini Seçiniz..."
                    Worksheets("ÖzlükBilgileri").Select
                    For i = 2 To [B65536].End(3).Row 'O65536 idi buarada isimleri ekleme yapmıyordu.
                        .AddItem Cells(i, 2).Value
                    Next
                    .Style = fmStyleDropDownList
                    .ListRows = 10
                    .ListIndex = 0
End With
askmadige34
Forum Moderatörü
 
Kayıt: 20 Kas 2015 11:04
Meslek: memur
Yaş: 39
İleti: 1736
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kayseri

Cevap: İzin takibi ve puantaja aktarma

İleti#6)  cemalabi » 06 Tem 2019 23:20

Değerli kardeşim askmadige öncelikle muhatap aldığınız çok teşekkür ederim. Dosyamı yeniden gönderiyorum. Yanlış anlaşılmayı önlemek adına kodlarımın bir kısmını sildim. İstediğim şu; 7 çeşit izin türü var. Seçilen izin türüne ait girilen tarihlerin yani izin başlangıç ve izin bitiş tarihlerinin personelin "İzinTakib" sayfasındaki ilgili hücresine yazılması.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: İzin takibi ve puantaja aktarma

İleti#7)  cemalabi » 07 Tem 2019 10:42

Yani kayıt yaparken, kayıt satırının;
(?) (?)
Worksheets("İzinTakibi").Cells(KayıtSatırı, İzinBaşlangıçTarihi,İzinBitişTarihi) fonksiyonun yapılması ve

kaydedilen iki tarih arasındaki (01.07.2019 - 03.07.2019) 3 adet izin türü kodunun Puantaj sayfasına işlenmesi. Örneğin Mazeret İzni kullanmışsa (Mİ) kodunu Puantaj sayfasındaki ilgili günlere yazması.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#8)  askmadige34 » 07 Tem 2019 11:55

1. wsÜrünler ne dir bilinmiyor.
2. LB1_ÜrünAdları nedir bilinmiyor.
3. Yapmanız gereken Kayıtsatırı belli olan verinn sütununu bulup oraya kaydetmeniz. Örneğin Rapor (RP) yi 2. sütuna kaydedemezsiniz. E-F sütununa kaydetmeniz gerekir.
Buradaki döngü ne için anlamadım.
askmadige34
Forum Moderatörü
 
Kayıt: 20 Kas 2015 11:04
Meslek: memur
Yaş: 39
İleti: 1736
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kayseri

Cevap: İzin takibi ve puantaja aktarma

İleti#9)  cemalabi » 07 Tem 2019 16:57

Sevgili hocam şu an son gönderdiğim dosyayı "UserForm" u incelemenizi rica edeceğim. Formun üzerine açıklamayı yaptım. Saygılarımla...
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#10)  askmadige34 » 07 Tem 2019 22:58

Kod: Tümünü seç
Private Sub CmdB5_Ekle_Click()

    KayıtSatırı = WorksheetFunction.CountA(Worksheets("İzinTakibi").Range("B:B")) + 1                  '-------------Kayıt için son satır bul
   
   
    Worksheets("İzinTakibi").Cells(KayıtSatırı, 2) = ComB5_ADISOYADI
   
   '.............................
   '.............................
   '.............................
   '.............................
   '.....ComB5_İzinTürü girildiğinde İzinTakibi sayfasındaki ilgili hücreye
   '.....tarihlerin yazılması ve AKABİNDE iki tarih arası kullanılan izin türünün
   '..... kısa kodunun Puantaj sayfasındaki hücrelere yazılması gerekmektedir.
   On Error Resume Next
    Worksheets("İzinTakibi").Select
    Aranan1 = Split(ComB5_İzinTürü.Value, "(")(1)
    For sutun = 3 To 17
        Aranan2 = Split(Cells(1, sutun), "(")(1)
        If Aranan1 = Aranan2 Then
            ArananSutun = sutun
            Exit For
        End If
    Next sutun
     Worksheets("İzinTakibi").Cells(KayıtSatırı, ArananSutun) = Tb5_İzinBaşlangıçTarihi
     Worksheets("İzinTakibi").Cells(KayıtSatırı, ArananSutun + 1) = Tb5_İzinBitişTarihi
   
End Sub
askmadige34
Forum Moderatörü
 
Kayıt: 20 Kas 2015 11:04
Meslek: memur
Yaş: 39
İleti: 1736
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kayseri

Cevap: İzin takibi ve puantaja aktarma

İleti#11)  cemalabi » 08 Tem 2019 08:57

Allah (C.C) Razı olsun. Nasıl teşekkür edeceğimi bilemiyorum. Rabbime şükürler olsun. Bir aydır kafayı yiyordum, aslan hocam beee. Sağol varol. Şimdi diyeceksin ki abi sen de hazıra konmaya çalışıyorsun. Puantaj cetveline de iki tarih arası izin kodlarını aktarsaydık, onu da öğrenmiş olurdum. Artık takdirinize bırakıyorum. Saygılarımla değerli kardeşim...
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#12)  cemalabi » 10 Tem 2019 11:26

Sayın hocam; Split komutunu sayenizde öğrenmiş oldum. Ancak iki tarih arası izin kodlarının Puantaj sayfasına aktarma işini inanın yapamıyorum. 4 gündür gecem gündüze karıştı. Sadeleştirilmiş dosyamı yeniden gönderiyorum. Valla yardımlarınızı bekliyorum.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#13)  askmadige34 » 10 Tem 2019 11:52

Akşam bakarım inşallah.
askmadige34
Forum Moderatörü
 
Kayıt: 20 Kas 2015 11:04
Meslek: memur
Yaş: 39
İleti: 1736
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kayseri

Cevap: İzin takibi ve puantaja aktarma

İleti#14)  cemalabi » 10 Tem 2019 12:01

Allah Razı olsun kardeşim. Şimdiden minnettarım.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#15)  askmadige34 » 10 Tem 2019 21:55

Günleri eklediğim sayfadaki gibi yaparsanız daha kolay olur. Burda puantaj doldurmayı formdan mı yapacak. Tarih aralığı girdiğiniz zaman Puantaj sayfasında 3 den 33 e kadar döngüye alacaksınız. Eğer girdiğiniz tarihler arasında ise izin vereceksiniz. Yoksa boş olacak. Yani if tarih1>=cells(3,i) and tarih2<=cells(3,i) yazacaksınız.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
askmadige34
Forum Moderatörü
 
Kayıt: 20 Kas 2015 11:04
Meslek: memur
Yaş: 39
İleti: 1736
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kayseri

Cevap: İzin takibi ve puantaja aktarma

İleti#16)  cemalabi » 10 Tem 2019 22:23

İzinKayıt Sayfasına kaydedilen izin türü tarihlerini dikkate alacak ve puantaj sayfasındaki kayıtlı olan isim ile karşılaştırıp, izin kodunu ilgili tarih aralığına işleyecek.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#17)  cemalabi » 10 Tem 2019 22:28

Hocam Puantaj sayfasındaki isimler sabit. İzinKayıt sayfasına kaydedilen personelin izin türü iki tarih aralığı kadar puantaja işlenecek. İzin kodlarını kod sayfasında belirttim.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#18)  cemalabi » 12 Tem 2019 08:29

Modaratör kardeşlerim yardımlarınızı bekliyorum.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: İzin takibi ve puantaja aktarma

İleti#19)  askmadige34 » 13 Tem 2019 19:24

Kod: Tümünü seç
Sub ASKM_Puantaj_Aktar()
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("İzinKayıt")
Set s2 = Sheets("Puantaj")
Application.ScreenUpdating = False

s2.Range("C4:AG28").ClearContents
s2.Range("C32:AG56").ClearContents
'Çıktı için 25 satırlık Sayfalara böldüğünüz için 2 ayrı silme kodu eklendi.
'Fazla sayfa olursa ekleme yapmalısınız

For i = 2 To s1.Range("B" & Rows.Count).End(3).Row
    Set bul = s2.Columns("B").Find(s1.Cells(i, 2))
    If Not bul Is Nothing Then
        Satir = bul.Row
        For Sutun1 = 3 To 16 Step 2
            If s1.Cells(i, Sutun1) <> "" Then
                For Sutun2 = 3 To 33
                    If s1.Cells(i, Sutun1) <= s2.Cells(3, Sutun2) And s1.Cells(i, Sutun1 + 1) >= s2.Cells(3, Sutun2) Then
                        Kelime = Split(s1.Cells(1, Sutun1), " ")
                        If s1.Cells(1, Sutun1) <> Empty Then IzinTürü = Empty
                        For x = 0 To UBound(Kelime)
                            IzinTürü = IzinTürü & Left(Kelime(x), 1)
                        Next x
                        s2.Cells(Satir, Sutun2) = IzinTürü
                    End If
                Next Sutun2
            End If
        Next Sutun1
    End If
Next i
Application.ScreenUpdating = True
MsgBox "Aktarma işlemi tamamlandı...", vbInformation, "ASKM"
End Sub
askmadige34
Forum Moderatörü
 
Kayıt: 20 Kas 2015 11:04
Meslek: memur
Yaş: 39
İleti: 1736
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kayseri

Cevap: İzin takibi ve puantaja aktarma

İleti#20)  cemalabi » 15 Tem 2019 15:02

Değerli hocam, yine ilgi ve alakanız için sonsuz minnettarlığımı sunarım. Yukarıdaki kodları uyguluyorum, lakin sonuca ulaşamıyorum. 2 gündür de bununla uğraşıyorum. Sorunun nerede olduğunu ben bulamadım. Kodların eklendiği örnek programı ekte sundum. Şayet size zahmet olmazsa, müsait olunca bakarsanız sevinirim. Saygılarımla...
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
cemalabi
Yeni Başlamış
 
Kayıt: 20 Arl 2017 10:44
Meslek: Kamu Personeli
Yaş: 52
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Sonraki

Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Yandex[Bot] ve 2 misafir

Bumerang - Yazarkafe