Soru Tarih Geçişleri (vba)

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Önceki sorunuzdan faydalanarak ilgili sayfanın kod bölümünde kullanılacak kod:

PHP:
Private Sub Worksheet_Activate()
    yg1 = DateSerial(Year(Date), 3, 16)
    yg2 = DateSerial(Year(Date), 4, 15)
    yaz1 = yg2 + 1
    yaz2 = DateSerial(Year(Date), 10, 15)
    kg1 = yaz2 + 1
    kg2 = DateSerial(Year(Date), 11, 15)
    If Date >= yg1 And Date <= yg2 Then
        [D6] = "YAZA GEÇİŞ"
    ElseIf Date >= yaz1 And Date <= yaz2 Then
        [D6] = "YAZ"
    ElseIf Date >= kg1 And Date <= kg2 Then
        [D6] = "KIŞA GEÇİŞ"
    Else
        [D6] = "KIŞ"
    End If
End Sub
ThisWorkBook / BuÇalışmaKitabı bölümünde kullanılacak kod:

PHP:
Private Sub Workbook_Open()
    yg1 = DateSerial(Year(Date), 3, 16)
    yg2 = DateSerial(Year(Date), 4, 15)
    yaz1 = yg2 + 1
    yaz2 = DateSerial(Year(Date), 10, 15)
    kg1 = yaz2 + 1
    kg2 = DateSerial(Year(Date), 11, 15)
    If Date >= yg1 And Date <= yg2 Then
        [D6] = "YAZA GEÇİŞ"
    ElseIf Date >= yaz1 And Date <= yaz2 Then
        [D6] = "YAZ"
    ElseIf Date >= kg1 And Date <= kg2 Then
        [D6] = "KIŞA GEÇİŞ"
    Else
        [D6] = "KIŞ"
    End If
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
#2 nolu mesajımdaki kodda kışa geçiş tarihlerindeki hata düzeltilmiştir.
 
Katılım
26 Nisan 2019
Mesajlar
221
Excel Vers. ve Dili
İş'te:Excel 2016 eng
Ev'de:Excel 2013 tr
Altın Üyelik Bitiş Tarihi
29-04-2025
Kod çalışıyor.Yusuf Bey çok çok teşekkür ederim.Elinize sağlık
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
BuÇalışmaKitabı/ThisWorkBook kısmındaki kod şöyle olmalı:

PHP:
Private Sub Workbook_Open()
    yg1 = DateSerial(Year(Date), 3, 16)
    yg2 = DateSerial(Year(Date), 4, 15)
    yaz1 = yg2 + 1
    yaz2 = DateSerial(Year(Date), 10, 15)
    kg1 = yaz2 + 1
    kg2 = DateSerial(Year(Date), 11, 15)
    If Date >= yg1 And Date <= yg2 Then
        Sheets("Sheet1").[D6] = "YAZA GEÇİŞ"
    ElseIf Date >= yaz1 And Date <= yaz2 Then
        Sheets("Sheet1").[D6] = "YAZ"
    ElseIf Date >= kg1 And Date <= kg2 Then
        Sheets("Sheet1").[D6] = "KIŞA GEÇİŞ"
    Else
        Sheets("Sheet1").[D6] = "KIŞ"
    End If
End Sub
 
Üst