Resmi Tatil Günlerini kod kullanarak yazdırma

gezgin-49

Altın Üye
Katılım
17 Ekim 2006
Mesajlar
669
Excel Vers. ve Dili
Türkçe 2003
Altın Üyelik Bitiş Tarihi
22-09-2028
Sayın üstadlarım 01/01/2006 ile 01/01/2020 yılları arasında sadece yılbaşı yani 01/01/2006, 01/01/2007, 01/01/2008....01/01/2020 tarihlerini A1:A20 hücreleri arasına yazdırmam gerekiyor, bunun için userform içindeki combobox'a nasıl bir kod yazmam gerekiyor, (yılbaşı kodlarına göre diğer resmi tatil günleri olan 23 nisan, 01 Mayıs, 19 Mayıs, 30 Ağustos, 29 Ekim günlerini de yapmayı düşünüyorum.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhaba örnek dosyanız olmadığından bu şekilde bir kod hazırladım.

Bu kodu bir modüle ekleyin

Herhangibir sayfada A1 hücresine başlangıç tarihini yazın B1 hücresine de Bitiş tarihini yazın ve deneme makrosunu çalıştırın.

Kod:
Option Explicit

Dim deg2 As String

Sub deneme()
Dim baslangic, bitis, sat3, sut3, i

sat3 = 2
sut3 = 1
baslangic = CDate(Worksheets(ActiveSheet.Name).Cells(1, 1).Value)
bitis = CDate(Worksheets(ActiveSheet.Name).Cells(1, 2).Value)

If Worksheets(ActiveSheet.Name).Cells(1, 1).Value = "" Or Worksheets(ActiveSheet.Name).Cells(1, 2).Value = "" Then
MsgBox "Başlaıngıç veya bitis tarihini yazmadınız."
End
End If

If baslangic > bitis Then
MsgBox "Başlaıngıç tarigi bitis tarihinden büyük olamaz."
End
End If

Range("A2:c65000").ClearContents

Dim M As Date
For i = 0 To bitis - baslangic

M = CDate(Format(baslangic + i, "dd.mm.yyyy"))
Hicri_takvim1 (M)

If deg2 <> "" Then
Worksheets(ActiveSheet.Name).Cells(sat3, sut3).Value = (M)
Worksheets(ActiveSheet.Name).Cells(sat3, sut3 + 1).Value = Format((M), "dddd")
Worksheets(ActiveSheet.Name).Cells(sat3, sut3 + 2).Value = WorksheetFunction.Trim(deg2)
sat3 = sat3 + 1
End If

Next i

MsgBox "işlem tamam"
End Sub

Sub Hicri_takvim1(TRH)
deg2 = ""

If Year(TRH) >= 1935 Then
If Month(TRH) = 1 And Day(TRH) = 1 Then deg2 = "Yılbaşı"
End If
If Year(TRH) >= 1920 Then
If Month(TRH) = 4 And Day(TRH) = 23 Then deg2 = "Ulusal Egemenlik Çocuk Bayramı"
End If
If Year(TRH) >= 2009 Then
If Month(TRH) = 5 And Day(TRH) = 1 Then deg2 = "İşçi Bayramı"
End If
If Year(TRH) >= 1939 Then
If Month(TRH) = 5 And Day(TRH) = 19 Then deg2 = "Gençlik ve Spor Bayramı"
End If
If Year(TRH) >= 1923 Then
If Month(TRH) = 8 And Day(TRH) = 30 Then deg2 = "Zafer Bayramı"
End If
If Year(TRH) >= 1925 Then
If Month(TRH) = 10 And Day(TRH) = 28 Then deg2 = "Cumhuriyetin Bayramı Yarım gün"
If Month(TRH) = 10 And Day(TRH) = 29 Then deg2 = "Cumhuriyetin Bayramı"
End If

End Sub
 

Ekli dosyalar

gezgin-49

Altın Üye
Katılım
17 Ekim 2006
Mesajlar
669
Excel Vers. ve Dili
Türkçe 2003
Altın Üyelik Bitiş Tarihi
22-09-2028
sayın üstadım Halit3 siz bir harikasınız, Allah sizden razı olsun, tam istediğim gibi, normal düğmeye atadığımda tam çalışıyor, ancak bu kodları userform içinde combobox düğmesine atamak için ne yapmam gerekiyor, bir de dini bayram günlerini kodlarla bulmak mümkün mü acaba?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Sorunuzun bu şekilde devam edeceğini tahmin ediyordum
Dini bayram günleri kod ile olmuyor İslam ülkeleri bile bayramları bir gün önce veya bir gün sonra olabiliyor..
Bu yüzden Diyanetin önceden açıkladığı bayram günlerini sayfanın bir tarafına yazmak gerekiyor.
Yazdığımız kodların boşa gitmemesi için örnek dosya ekleyiniz.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bir adet userform oluştur ve aşağıdaki kodları formun içine kopyala

Kod:
Option Explicit

Dim deg2 As String

Private Sub ComboBox1_Change()

End Sub

Private Sub CommandButton1_Click()

 ComboBox1.Clear

Dim baslangic, bitis, sat3, sut3, i

sat3 = 2
sut3 = 1


If TextBox1.Text = "" Or TextBox2.Text = "" Then
MsgBox "Başlaıngıç veya bitis tarihini yazmadınız."
End
End If

baslangic = CDate(TextBox1.Text)
bitis = CDate(TextBox2.Text)

If baslangic > bitis Then
MsgBox "Başlaıngıç tarigi bitis tarihinden büyük olamaz."
End
End If

'Range("A2:c65000").ClearContents

Dim M As Date
For i = 0 To bitis - baslangic

M = CDate(Format(baslangic + i, "dd.mm.yyyy"))
Hicri_takvim1 (M)

If deg2 <> "" Then
ComboBox1.AddItem Format((M), "dd.mm.yyyy")
'Worksheets(ActiveSheet.Name).Cells(sat3, sut3).Value = (M)
'Worksheets(ActiveSheet.Name).Cells(sat3, sut3 + 1).Value = Format((M), "dddd")
'Worksheets(ActiveSheet.Name).Cells(sat3, sut3 + 2).Value = WorksheetFunction.Trim(deg2)
sat3 = sat3 + 1
End If

Next i

MsgBox "işlem tamam"
End Sub

Sub Hicri_takvim1(TRH)
deg2 = ""

If Year(TRH) >= 1935 Then
If Month(TRH) = 1 And Day(TRH) = 1 Then deg2 = "Yılbaşı"
End If
If Year(TRH) >= 1920 Then
If Month(TRH) = 4 And Day(TRH) = 23 Then deg2 = "Ulusal Egemenlik Çocuk Bayramı"
End If
If Year(TRH) >= 2009 Then
If Month(TRH) = 5 And Day(TRH) = 1 Then deg2 = "İşçi Bayramı"
End If
If Year(TRH) >= 1939 Then
If Month(TRH) = 5 And Day(TRH) = 19 Then deg2 = "Gençlik ve Spor Bayramı"
End If
If Year(TRH) >= 1923 Then
If Month(TRH) = 8 And Day(TRH) = 30 Then deg2 = "Zafer Bayramı"
End If
If Year(TRH) >= 1925 Then
If Month(TRH) = 10 And Day(TRH) = 28 Then deg2 = "Cumhuriyetin Bayramı Yarım gün"
If Month(TRH) = 10 And Day(TRH) = 29 Then deg2 = "Cumhuriyetin Bayramı"
End If

End Sub
 

Ekli dosyalar

gezgin-49

Altın Üye
Katılım
17 Ekim 2006
Mesajlar
669
Excel Vers. ve Dili
Türkçe 2003
Altın Üyelik Bitiş Tarihi
22-09-2028
Kod:
9.01.2006    KURBAN BAYRAMI ARİFESi       
30.12.2006    KURBAN BAYRAMI ARİFESi       
19.12.2007    KURBAN BAYRAMI ARİFESi       
7.12.2008    KURBAN BAYRAMI ARİFESi       
26.11.2009    KURBAN BAYRAMI ARİFESİ       
15.11.2010    KURBAN BAYRAMI ARİFESİ       
5.11.2011    KURBAN BAYRAMI ARİFESİ       
24.10.2012    KURBAN BAYRAMI ARİFESİ       
14.10.2013    KURBAN BAYRAMI ARİFESİ       
3.10.2014    KURBAN BAYRAMI ARİFESİ       
22.09.2015    KURBAN BAYRAMI ARİFESİ       
11.09.2016    KURBAN BAYRAMI ARİFESİ       
31.08.2017    KURBAN BAYRAMI ARİFESİ       
20.08.2018    KURBAN BAYRAMI ARİFESİ       
10.08.2019    KURBAN BAYRAMI ARİFESi       
30.07.2020    KURBAN BAYRAMI ARİFESi       
10.01.2006    KURBAN BAYRAMI 1. GÜNÜ       
11.01.2006    KURBAN BAYRAMI 2. GÜNÜ       
12.01.2006    KURBAN BAYRAMI 3. GÜNÜ       
13.01.2006    KURBAN BAYRAMI 4. GÜNÜ       
31.12.2006    KURBAN BAYRAMI 1. GÜNÜ       
1.01.2007    KURBAN BAYRAMI 2. GÜNÜ       
2.01.2007    KURBAN BAYRAMI 3. GÜNÜ       
3.01.2007    KURBAN BAYRAMI 4. GÜNÜ       
20.12.2007    KURBAN BAYRAMI 1. GÜNÜ       
21.12.2007    KURBAN BAYRAMI 2. GÜNÜ       
22.12.2007    KURBAN BAYRAMI 3. GÜNÜ       
23.12.2007    KURBAN BAYRAMI 4. GÜNÜ       
8.12.2008    KURBAN BAYRAMI 1. GÜNÜ       
9.12.2008    KURBAN BAYRAMI 2. GÜNÜ       
10.12.2008    KURBAN BAYRAMI 3. GÜNÜ       
11.12.2008    KURBAN BAYRAMI 4. GÜNÜ       
27.11.2009    KURBAN BAYRAMI 1. GÜNÜ       
28.11.2009    KURBAN BAYRAMI 2. GÜNÜ       
29.11.2009    KURBAN BAYRAMI 3. GÜNÜ       
30.11.2009    KURBAN BAYRAMI 4. GÜNÜ       
16.11.2010    KURBAN BAYRAMI 1. GÜNÜ       
17.11.2010    KURBAN BAYRAMI 2. GÜNÜ       
18.11.2010    KURBAN BAYRAMI 3. GÜNÜ       
19.11.2010    KURBAN BAYRAMI 4. GÜNÜ       
6.11.2011    KURBAN BAYRAMI 1. GÜNÜ       
7.11.2011    KURBAN BAYRAMI 2. GÜNÜ       
8.11.2011    KURBAN BAYRAMI 3. GÜNÜ       
9.11.2011    KURBAN BAYRAMI 4. GÜNÜ       
25.10.2012    KURBAN BAYRAMI 1. GÜNÜ       
26.10.2012    KURBAN BAYRAMI 2. GÜNÜ       
27.10.2012    KURBAN BAYRAMI 3. GÜNÜ       
28.10.2012    KURBAN BAYRAMI 4. GÜNÜ       
15.10.2013    KURBAN BAYRAMI 1. GÜNÜ       
16.10.2013    KURBAN BAYRAMI 2. GÜNÜ       
17.10.2013    KURBAN BAYRAMI 3. GÜNÜ       
18.10.2013    KURBAN BAYRAMI 4. GÜNÜ       
4.10.2014    KURBAN BAYRAMI 1. GÜNÜ       
5.10.2014    KURBAN BAYRAMI 2. GÜNÜ       
6.10.2014    KURBAN BAYRAMI 3. GÜNÜ       
7.10.2014    KURBAN BAYRAMI 4. GÜNÜ       
23.09.2015    KURBAN BAYRAMI 1. GÜNÜ       
24.09.2015    KURBAN BAYRAMI 2. GÜNÜ       
25.09.2015    KURBAN BAYRAMI 3. GÜNÜ       
26.09.2015    KURBAN BAYRAMI 4. GÜNÜ       
12.09.2016    KURBAN BAYRAMI 1. GÜNÜ       
13.09.2016    KURBAN BAYRAMI 2. GÜNÜ       
14.09.2016    KURBAN BAYRAMI 3. GÜNÜ       
15.09.2016    KURBAN BAYRAMI 4. GÜNÜ       
1.09.2017    KURBAN BAYRAMI 1. GÜNÜ       
2.09.2017    KURBAN BAYRAMI 2. GÜNÜ       
3.09.2017    KURBAN BAYRAMI 3. GÜNÜ       
4.09.2017    KURBAN BAYRAMI 4. GÜNÜ       
21.08.2018    KURBAN BAYRAMI 1. GÜNÜ       
22.08.2018    KURBAN BAYRAMI 2. GÜNÜ       
23.08.2018    KURBAN BAYRAMI 3. GÜNÜ       
24.08.2018    KURBAN BAYRAMI 4. GÜNÜ       
11.08.2019    KURBAN BAYRAMI 1. GÜNÜ       
12.08.2019    KURBAN BAYRAMI 2. GÜNÜ       
13.08.2019    KURBAN BAYRAMI 3. GÜNÜ       
14.08.2019    KURBAN BAYRAMI 4. GÜNÜ       
31.07.2020    KURBAN BAYRAMI 1. GÜNÜ       
1.08.2020    KURBAN BAYRAMI 2. GÜNÜ       
2.08.2020    KURBAN BAYRAMI 3. GÜNÜ       
3.08.2020    KURBAN BAYRAMI 4. GÜNÜ       
22.10.2006    RAMAZAN BAYRAMI ARİFESi       
11.10.2007    RAMAZAN BAYRAMI ARİFESi       
29.09.2008    RAMAZAN BAYRAMI ARİFESi       
19.09.2009    RAMAZAN BAYRAMI ARİFESİ       
8.09.2010    RAMAZAN BAYRAMI ARİFESİ       
29.08.2011    RAMAZAN BAYRAMI ARİFESİ       
18.08.2012    RAMAZAN BAYRAMI ARİFESİ       
7.08.2013    RAMAZAN BAYRAMI ARİFESİ       
27.07.2014    RAMAZAN BAYRAMI ARİFESİ       
16.07.2015    RAMAZAN BAYRAMI ARİFESİ       
4.07.2016    RAMAZAN BAYRAMI ARİFESİ       
24.06.2017    RAMAZAN BAYRAMI ARİFESİ       
14.06.2018    RAMAZAN BAYRAMI ARİFESİ       
4.06.2019    RAMAZAN BAYRAMI ARİFESİ       
23.05.2020    RAMAZAN BAYRAMI ARİFESİ       
23.10.2006    RAMAZAN BAYRAMI 1. GÜNÜ       
24.10.2006    RAMAZAN BAYRAMI 2. GÜNÜ       
25.10.2006    RAMAZAN BAYRAMI 3. GÜNÜ       
12.10.2007    RAMAZAN BAYRAMI 1. GÜNÜ       
13.10.2007    RAMAZAN BAYRAMI 2. GÜNÜ       
14.10.2007    RAMAZAN BAYRAMI 3. GÜNÜ       
30.09.2008    RAMAZAN BAYRAMI 1. GÜNÜ       
1.10.2008    RAMAZAN BAYRAMI 2. GÜNÜ       
2.10.2008    RAMAZAN BAYRAMI 3. GÜNÜ       
20.09.2009    RAMAZAN BAYRAMI 1. GÜNÜ       
21.09.2009    RAMAZAN BAYRAMI 2. GÜNÜ       
22.09.2009    RAMAZAN BAYRAMI 3. GÜNÜ       
9.09.2010    RAMAZAN BAYRAMI 1. GÜNÜ       
10.09.2010    RAMAZAN BAYRAMI 2. GÜNÜ       
11.09.2010    RAMAZAN BAYRAMI 3. GÜNÜ       
30.08.2011    RAMAZAN BAYRAMI 1. GÜNÜ       
31.08.2011    RAMAZAN BAYRAMI 2. GÜNÜ       
1.09.2011    RAMAZAN BAYRAMI 3. GÜNÜ       
19.08.2012    RAMAZAN BAYRAMI 1. GÜNÜ       
20.08.2012    RAMAZAN BAYRAMI 2. GÜNÜ       
21.08.2012    RAMAZAN BAYRAMI 3. GÜNÜ       
8.08.2013    RAMAZAN BAYRAMI 1. GÜNÜ       
9.08.2013    RAMAZAN BAYRAMI 2. GÜNÜ       
10.08.2013    RAMAZAN BAYRAMI 3. GÜNÜ       
28.07.2014    RAMAZAN BAYRAMI 1. GÜNÜ       
29.07.2014    RAMAZAN BAYRAMI 2. GÜNÜ       
30.07.2014    RAMAZAN BAYRAMI 3. GÜNÜ       
17.07.2015    RAMAZAN BAYRAMI 1. GÜNÜ       
18.07.2015    RAMAZAN BAYRAMI 2. GÜNÜ       
19.07.2015    RAMAZAN BAYRAMI 3. GÜNÜ       
5.07.2016    RAMAZAN BAYRAMI 1. GÜNÜ       
6.07.2016    RAMAZAN BAYRAMI 2. GÜNÜ       
7.07.2016    RAMAZAN BAYRAMI 3. GÜNÜ       
25.06.2017    RAMAZAN BAYRAMI 1. GÜNÜ       
26.06.2017    RAMAZAN BAYRAMI 2. GÜNÜ       
27.06.2017    RAMAZAN BAYRAMI 3. GÜNÜ       
15.06.2018    RAMAZAN BAYRAMI 1. GÜNÜ       
16.06.2018    RAMAZAN BAYRAMI 2. GÜNÜ       
17.06.2018    RAMAZAN BAYRAMI 3. GÜNÜ       
5.06.2019    RAMAZAN BAYRAMI 1. GÜNÜ       
6.06.2019    RAMAZAN BAYRAMI 2. GÜNÜ       
7.06.2019    RAMAZAN BAYRAMI 3. GÜNÜ       
24.05.2020    RAMAZAN BAYRAMI 1. GÜNÜ       
25.05.2020    RAMAZAN BAYRAMI 2. GÜNÜ       
26.05.2020    RAMAZAN BAYRAMI 3. GÜNÜ
Sayın üstadım altın üyeliğim olmadığından dosya ekleyemiyorum.

Resmi bayramlarla ilgili kodlarınız modüle de çalışıyor, ancak USERFORM içinde combobox a nasıl uyarlayabilirim.

ayrıca yukarıda dini bayram arife ve günleri var, bunlar içinde bir kod yazma olur mu acaba
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Altın üye olmadanda farklı sitelere dosya ekliyebilir ve linkini burada paylaşabilirsiniz.
 

erdal_keskin

Altın Üye
Katılım
6 Mart 2006
Mesajlar
65
Altın Üyelik Bitiş Tarihi
29-04-2024
iyi günler, ekteki dosyada B14:B37 hücre aralığındaki tarihlerin resmi tatil günlerine (bayramlar, hafta sonları vb.) rastlaması durumunda, ödeme tarihleri haftanın ilk iş günü olacak şekilde C14:C37 hücre aralığına aktarabilecek makro yada formül lazımdı, şimdiden teşekkürler.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Tam sonuç vermeyebilir zira dini bayramlar bir veya iki gün önce veya sonra olabiliyor.
kodu bir modüle yapıştırın
sonra
C14 hücresine şu fonksiyanu yazın ve aşağıya doğru çekin.

=gelistarih(B14)

Kod:
Dim deg1 As String
Dim deg2 As String

Function gelistarih(izinbas)
Dim M As Date
If izinbas <> "" Then
baslangic = CDate(izinbas) 
For i = 0 To 15
M = CDate(Format(baslangic + i, "dd.mm.yyyy"))
Hicri_takvim1 (M)
If deg2 = "" And deg1 = "" Then
If Format(CDate(baslangic) + i, "dddd") <> "Cumartesi" And Format(CDate(baslangic) + i, "dddd") <> "Pazar" Then
gelistarih = CDate(baslangic) + i
Exit For
End If
End If
Next i
Else
gelistarih = ""
End If

End Function


Sub Hicri_takvim1(TRH)
deg2 = ""
If Month(TRH) = 1 And Day(TRH) = 1 Then deg2 = "Yılbaşı"
If Month(TRH) = 4 And Day(TRH) = 23 Then deg2 = "Ulusal Egemenlik Çocuk Bayramı"
If Month(TRH) = 5 And Day(TRH) = 1 Then deg2 = "İşçi Bayramı"
If Month(TRH) = 5 And Day(TRH) = 19 Then deg2 = "Gençlik ve Spor Bayramı"
If Month(TRH) = 8 And Day(TRH) = 30 Then deg2 = "Zafer Bayramı"
'If Month(TRH) = 10 And Day(TRH) = 28 Then deg2 = "Cumhuriyetin Bayramı Yarım gün"
If Month(TRH) = 10 And Day(TRH) = 29 Then deg2 = "Cumhuriyetin Bayramı"
Calendar = vbCalHijri
deg1 = ""
'If Month(TRH) = 9 And Day(TRH) = 30 Then deg1 = "Ramazan Bayramı Arife.günü Yarım gün"
If Month(TRH) = 10 And Day(TRH) = 1 Then deg1 = "Ramazan Bayramı 1.günü"
If Month(TRH) = 10 And Day(TRH) = 2 Then deg1 = "Ramazan Bayramı 2.günü"
If Month(TRH) = 10 And Day(TRH) = 3 Then deg1 = "Ramazan Bayramı 3.günü"

'If Month(TRH) = 12 And Day(TRH) = 9 Then deg1 = "Kurban Bayramı Arife.günü Yarım gün"
If Month(TRH) = 12 And Day(TRH) = 10 Then deg1 = "Kurban Bayramı 1.günü"
If Month(TRH) = 12 And Day(TRH) = 11 Then deg1 = "Kurban Bayramı 2.günü"
If Month(TRH) = 12 And Day(TRH) = 12 Then deg1 = "Kurban Bayramı 3.günü"
If Month(TRH) = 12 And Day(TRH) = 13 Then deg1 = "Kurban Bayramı 4.günü"
Calendar = vbCalGreg 'Miladi Takvim. PC deki

End Sub
 
Son düzenleme:

erdal_keskin

Altın Üye
Katılım
6 Mart 2006
Mesajlar
65
Altın Üyelik Bitiş Tarihi
29-04-2024
Halit bey bu yarım gün olanları -arefe- çıkarsam kodlamada bozulma olur mu? Birde PC takvimine göre ayarlama yapıyor sanırım. Telde google takvim kullanıyorum, çok kullanışlı.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Formül böyle olacak
Yeni Bit Eşlem Resmi.jpg
Kod:
=ise_bas_tarihi(B14;T$3;T$4;T$5;T$6;T$7;T$8;T$1;T$2)
kod
Kod:
Function ise_bas_tarihi(izin_bitis_tarihi, Ramazan1, Ramazan2, Ramazan3, Kurban1, Kurban2, Kurban3, hafta_tatili1, hafta_tatili2)

If izin_bitis_tarihi = "" Then
ise_bas_tarihi = ""
Exit Function
End If

izin_bitis_tarihi = CDate(izin_bitis_tarihi)

sat = 0

If hafta_tatili1 = Format((izin_bitis_tarihi + sat), "dddd") Then sat = sat + 1
If hafta_tatili2 = Format((izin_bitis_tarihi + sat), "dddd") Then sat = sat + 1

'Resmi bayramlar
If "01.01" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "23.04" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "01.05" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "19.05" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "30.08" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "28.10" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "29.10" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1

'ramazan bayramı
If CDate(Ramazan1) = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan1) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan1) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan1) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

If CDate(Ramazan2) = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If CDate(Ramazan2) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan2) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan2) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

If CDate(Ramazan3) = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If CDate(Ramazan3) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan3) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan3) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1


'kurban bayramı
If CDate(Kurban1) = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban1) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban1) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban1) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban1) + 4 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1


If CDate(Kurban2) = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If CDate(Kurban2) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban2) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban2) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban2) + 4 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

If CDate(Kurban3) = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If CDate(Kurban3) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban3) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban3) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban3) + 4 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

'Cumartesi Pazar
If hafta_tatili1 = Format((izin_bitis_tarihi + sat), "dddd") Then sat = sat + 1
If hafta_tatili2 = Format((izin_bitis_tarihi + sat), "dddd") Then sat = sat + 1

yer = izin_bitis_tarihi + sat
ise_bas_tarihi = Format(yer, "dd/mm/yyyy")

If izin_bitis_tarihi <= 0 Then
ise_bas_tarihi = ""
End If

End Function
arife günlerinin olmadığı kod

Kod:
Function ise_bas_tarihi(izin_bitis_tarihi, Ramazan1, Ramazan2, Ramazan3, Kurban1, Kurban2, Kurban3, hafta_tatili1, hafta_tatili2)

If izin_bitis_tarihi = "" Then
ise_bas_tarihi = ""
Exit Function
End If

izin_bitis_tarihi = CDate(izin_bitis_tarihi)

sat = 0

If hafta_tatili1 = Format((izin_bitis_tarihi + sat), "dddd") Then sat = sat + 1
If hafta_tatili2 = Format((izin_bitis_tarihi + sat), "dddd") Then sat = sat + 1

'Resmi bayramlar
If "01.01" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "23.04" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "01.05" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "19.05" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If "30.08" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1

If "29.10" = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1

'ramazan bayramı
If CDate(Ramazan1) = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan1) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan1) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

If CDate(Ramazan2) = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If CDate(Ramazan2) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan2) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

If CDate(Ramazan3) = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If CDate(Ramazan3) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Ramazan3) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

'kurban bayramı
If CDate(Kurban1) = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban1) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban1) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban1) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

If CDate(Kurban2) = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If CDate(Kurban2) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban2) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban2) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

If CDate(Kurban3) = Format((izin_bitis_tarihi + sat), "dd/mm") Then sat = sat + 1
If CDate(Kurban3) + 1 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban3) + 2 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1
If CDate(Kurban3) + 3 = Format((izin_bitis_tarihi + sat), "dd/mm/yyyy") Then sat = sat + 1

'Cumartesi Pazar
If hafta_tatili1 = Format((izin_bitis_tarihi + sat), "dddd") Then sat = sat + 1
If hafta_tatili2 = Format((izin_bitis_tarihi + sat), "dddd") Then sat = sat + 1

yer = izin_bitis_tarihi + sat
ise_bas_tarihi = Format(yer, "dd/mm/yyyy")

If izin_bitis_tarihi <= 0 Then
ise_bas_tarihi = ""
End If

End Function
Resimden görüldüğü gibi T1 ve T2 Hafta sonları
T3:T4:T5 Ramazan bayramı
T6:T7:T8 Kurban bayramı yazılacak
not dini bayramlar üç yıla ait yazılacak. ben burada arife günlerini yazdım siz ister oyle yazarsınız isterse de bayramın birinci gününü yazınız.
 
Katılım
22 Şubat 2021
Mesajlar
101
Excel Vers. ve Dili
Ofis 360 Türkçe
Herkese merhabalar bende tatil günlerini bulduktan sonra hafta hesaplayıp kosullu bıcımlendırme yapacagım, kodları kendıme uyarlayamadım. Fonksiyon olarak verılen kodları nasıl calıstırabılırım?
 
Katılım
15 Nisan 2021
Mesajlar
1
Excel Vers. ve Dili
Excel 2019- Türkçe
bu kadar kolay çözülebileceğini bilmiyordum. Çok teşekkürler sevgili bay Halit
 

mhaluksen

Altın Üye
Katılım
27 Ocak 2006
Mesajlar
205
Excel Vers. ve Dili
ofis 2010- Türkçe
Altın Üyelik Bitiş Tarihi
25-06-2026
son şeklini yükler misin bir de biz baksak faydalansak sakıncası yoksa
 
Üst