Excel Forum


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama



Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 29-07-2007, 06:06   #1
kelkitli
 
kelkitli kullanıcısının avatarı
 
Giriş: 23/02/2007
Şehir: Ankara
Mesaj: 1,213
Excel Vers. ve Dili:
Excel2003
Varsayılan İzin günü hesaplaması

Değerli Dostlar Selamlar,
Bir izin hesabı hazırlamam lazım. Kriterleri şöyle:
İzin başlangıç tarihinden itibaren izin gün sayısını hesaplarken hafta tatili (kendimiz belirliyoruz haftada 1 gün) gününe gelince hafta tatili izne 1 gün eklenecek izin günü sonraki hafta tatillerine erişirse eriştiği tüm hafta tatilleri izne eklenecek.
Eğer izin 1 gün olursa Başlangıç bitiş tarihi aynı gün işe başlama bir sonraki gün olacak. (Örn: 01.01.2007 01.01.2007 02.01.2007)
İzin bitiş tarihinden sonraki yani işe başlayacağı gün hafta tatiline denk gelirse işbaşı tarihi bir gün sonraya sarkacak. (Örnek: 01.01.2007 10.01.2007 12.01.2007)
Özel günle ve Bayramlar yazılı listede izin tarihleri ile kesişen günler varsa aynen hafta tatilinin eklendiği mantıkla izne eklenecek. Ancak bayramlar hafta tatilinden önce eklenmeli. Şundan dolayı bayram eklemeleri yeniden hafta tatili eklemelerine sebebiyet verebilecektir.
Eklenmiş Dosyalar
Dosya Türü: xls izin.xls (14.5 KB, 61 Görüntülenme)
__________________
Doğruyu söylemekten korkmayınız.

Bu mesaj en son " 29-07-2007 " tarihinde saat 14:05 itibariyle kelkitli tarafından düzenlenmiştir....
kelkitli Çevrimdışı   Alıntı Yaparak Cevapla
Eski 29-07-2007, 21:50   #2
kelkitli
 
kelkitli kullanıcısının avatarı
 
Giriş: 23/02/2007
Şehir: Ankara
Mesaj: 1,213
Excel Vers. ve Dili:
Excel2003
Varsayılan

Merhabalar,
Benim düşündüğüm anlamda hesaplamanın mantığını açıklamaya örnek olması bakımından bir dosya hazırladım. Bayramlar da ayynı mantıkla dahil edilmeli.
Eklenmiş Dosyalar
Dosya Türü: xls izin.xls (44.0 KB, 43 Görüntülenme)
__________________
Doğruyu söylemekten korkmayınız.
kelkitli Çevrimdışı   Alıntı Yaparak Cevapla
Eski 29-07-2007, 22:43   #3
Orion1
Uzman
 
Orion1 kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 17,062
Excel Vers. ve Dili:
Win7 Home Basic TR 64 Bit Ofis-2010-TR 32 Bit
Varsayılan

Merhaba.
Bir kullanıcı tanımlı fonksiyon hazıladım..Belirlediğiniz bayram tatillerini de hesaplıyor hafta tatillerinide hsaplıyor.

Fonksiyonda hafta tatillerini ve bayram tatillerinde hata veriyordu.
Düzeltidi ve 4 nolu mesaja dosya eklendi.
__________________
KOD ANLATILMAZ,YAZILIR!
Bir sümer atasözü;
Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı.

Bu mesaj en son " 30-07-2007 " tarihinde saat 13:03 itibariyle Orion1 tarafından düzenlenmiştir.... Neden: Dosya güncellendi 4 nolu mesaja eklendi.
Orion1 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 29-07-2007, 23:35   #4
Orion1
Uzman
 
Orion1 kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 17,062
Excel Vers. ve Dili:
Win7 Home Basic TR 64 Bit Ofis-2010-TR 32 Bit
Varsayılan

Merhaba.
Şimdi İngilizce versiyonlardada sorunsuz çalışacak.Yalnız D2 hücresine veri doğrulama ile aldığınız sayfa2 deki günlerin yelerini ve d2 hücresinin yerini değiştirmeyiniz.Umarım işinize yarar.
Ekli dosyayı inceleyiniz.
Fonksiyonda hata vardı düzeltildi dosya güncellendi.
I2 hücresine aşağıdaki kodu yazıp aşağı doğru çoğaltılacak.
=tatil(G2;$D$2;$E$2:$E$13)

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Function tatil(gun As Range, hafta_tatil As Range, resmi_tatil As Range)
Dim tarih As Date, tatil_tarih As Date, sonuc As Byte, rsm_tatil As Date
Dim tbl As Range, veri As Range
sonuc = 0: say = 0: tatil_tarih = Empty: hft_tatil = Empty
hft_tatil = hafta_tatil
tarih = gun
Set veri = Range(resmi_tatil.Address)
    For Each tbl In veri
            If tbl <> "" Then tatil_tarih = tbl
            If tarih = tatil_tarih Then
                say = 1
                Exit For
            End If
    Next
    If Application.Weekday(tarih, 2) = WorksheetFunction.Match(hft_tatil, Sheets("Sayfa2").Range("$A$1:$A$7"), 0) Then
        say = say + 1
    End If
If say = 0 Then
    sonuc = 1
    Else
    sonuc = 0
End If
tatil = sonuc
End Function
Eklenmiş Dosyalar
Dosya Türü: rar izin5.rar (10.1 KB, 88 Görüntülenme)
__________________
KOD ANLATILMAZ,YAZILIR!
Bir sümer atasözü;
Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı.

Bu mesaj en son " 30-07-2007 " tarihinde saat 13:04 itibariyle Orion1 tarafından düzenlenmiştir.... Neden: Fonksiyonda hata vardı düzeletildi .Dosya güncellendi.
Orion1 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-07-2007, 05:28   #5
kelkitli
 
kelkitli kullanıcısının avatarı
 
Giriş: 23/02/2007
Şehir: Ankara
Mesaj: 1,213
Excel Vers. ve Dili:
Excel2003
Varsayılan

Sayın Orion2 selamlar,
Cevabınız için teşekkür ederim. Ben konunun tamamını kod ile çözelim diye düşünmüştüm. Sağolun emek çekmişsiniz. Ancak kullanıcı tanımlı fonksiynların ikisinde de hafta tatillerini değiştirince hiç bir yenilenme değişme izleyemedim. Önceki hafta tatilinde olduğu gibi duruyor. Bir de 19 Mayısı değerlendirmeye almıyor. Bakabilirseniz.
__________________
Doğruyu söylemekten korkmayınız.
kelkitli Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-07-2007, 12:58   #6
Orion1
Uzman
 
Orion1 kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 17,062
Excel Vers. ve Dili:
Win7 Home Basic TR 64 Bit Ofis-2010-TR 32 Bit
Varsayılan

Alıntı:
kelkitli tarafından gönderildi Mesajı Görüntüle
Sayın Orion2 selamlar,
Ancak kullanıcı tanımlı fonksiynların ikisinde de hafta tatillerini değiştirince hiç bir yenilenme değişme izleyemedim. Önceki hafta tatilinde olduğu gibi duruyor. Bir de 19 Mayısı değerlendirmeye almıyor. Bakabilirseniz.
Merhaba.
Sayın kelkitli;
Gerekli düzeltmeler yapıldı.
I2 hücresine aşağıdaki kodu yazıp aşağı doğru çoğaltılacak.
=tatil(G2;$D$2;$E$2:$E$13)

Dosya güncellendi,Önceki mesajımdamn indirip denyebilirsiniz.
__________________
KOD ANLATILMAZ,YAZILIR!
Bir sümer atasözü;
Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı.
Orion1 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-07-2007, 16:52   #7
kelkitli
 
kelkitli kullanıcısının avatarı
 
Giriş: 23/02/2007
Şehir: Ankara
Mesaj: 1,213
Excel Vers. ve Dili:
Excel2003
Varsayılan

Sayın Orion2 merhabalar,
Dosyayı aldım inceledim. Hesaplamalar hatasız. Emeğin için çok çok teşekkürler ederim. Sağol varol.
__________________
Doğruyu söylemekten korkmayınız.
kelkitli Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-07-2007, 17:08   #8
Orion1
Uzman
 
Orion1 kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 17,062
Excel Vers. ve Dili:
Win7 Home Basic TR 64 Bit Ofis-2010-TR 32 Bit
Varsayılan

Alıntı:
kelkitli tarafından gönderildi Mesajı Görüntüle
Sayın Orion2 merhabalar,
Dosyayı aldım inceledim. Hesaplamalar hatasız. Emeğin için çok çok teşekkürler ederim. Sağol varol.
Rica ederim.
İyi çalışmalar.
__________________
KOD ANLATILMAZ,YAZILIR!
Bir sümer atasözü;
Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı.
Orion1 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-07-2007, 09:23   #9
kelkitli
 
kelkitli kullanıcısının avatarı
 
Giriş: 23/02/2007
Şehir: Ankara
Mesaj: 1,213
Excel Vers. ve Dili:
Excel2003
Varsayılan

Değerli arkadaşlar selamlar,
Sayın Orion2 arkadaşımızın hazırladığı kullanıcı tanımlı fonksiyn hazırlanan dosyada sorunsuz çalışıyor. Ancak benim hazırladığım izin programına uyarlarkan hata oluşuyor. Bayram günlerini kopyala yapıştır yapmayınca hata veriyor. Bu başlıkta hazırlamaya çalıştığımız izin hesaplamasını bir kod ile hazırlama imkânı olan arkadaşlardan yardım rica ediyorum.
__________________
Doğruyu söylemekten korkmayınız.
kelkitli Çevrimdışı   Alıntı Yaparak Cevapla
Eski 03-08-2007, 22:56   #10
kelkitli
 
kelkitli kullanıcısının avatarı
 
Giriş: 23/02/2007
Şehir: Ankara
Mesaj: 1,213
Excel Vers. ve Dili:
Excel2003
Varsayılan

Değerli arkadaşlar selamlar,
Bu hesaplamayla ilgili hesaplamayı kullanıcı tanımlı fonksiyonla değilde kod ile çözme imkânı olan arkadaklarımızın katkılarını rica ediyorum.
__________________
Doğruyu söylemekten korkmayınız.
kelkitli Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 01:28


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.


Bahis Forum - Termal Kemer - Define - Samsung Fernseher - Plastik - Excel Eğitim - Çorlu Kamera - Kırklareli Kız Yurdu - Kırklareli Kız Apart - Yurt Kırklareli - Kız Yurdu Kırklareli - Kız Öğrenci Yurdu Kırklareli - Kız Öğrenci Apart - Kırklareli Sembol - Kırklareli Pansiyon - Kırklareli Kız Apart - Kırklareli Kız Apart - Kırklareli Apart - Kırklareli Yurt - Kırklareli Kız Yurdu - Çorlu Demir Çelik - Kırklareli Kız Öğrenci - Çorlu Petek Temizleme
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden