Soru Ay Geçişleri

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
Herkese Merhaba
Sorumu eklediğim dosya içerisinde detaylı olarak anlatmaya çalıştım.Üstadlarımdan yardım istiyorum

Saygılarımla
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
=ARA(2;1/(KAYDIR($C$9;;;KAÇINCI(METNEÇEVİR(BUGÜN()+120;"aaaa");$B$9:$B$20;0))<>"");$C$9:$C$20)
NİSAN-HAZİRAN-EKİM aylarının adını düzeltip deneyin.
 
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
Korhan Bey çok özürdiliyorum özellikle belirtmeyi unuttum.Sadece kod olarak istiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Donem_Bul()
    Dim Ay As Range
    Range("D6").ClearContents
    Set Ay = Range("B9:B21").Find(Format(Date, "mmmm"), , , xlWhole)
    If Not Ay Is Nothing Then Range("D6") = Ay.Offset(0, 1).MergeArea.Cells(1, 1)
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
Aşağıdaki kodları ilgili sayfanın kod bölümüne yapıştırırsanız sayfayı aktifleştirdiğinizde belirttiğiniz işlemi yapar:

PHP:
Private Sub Worksheet_Activate()
[D6] = Evaluate("=LOOKUP(MONTH(TODAY()),{1;3;5;10;12},{""KIŞ"";""YAZA GEÇİŞ"";""YAZ"";""KIŞA GEÇİŞ"";""KIŞ""})")
End Sub
 
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
Deneyiniz.

C++:
Option Explicit

Sub Donem_Bul()
    Dim Ay As Range
    Range("D6").ClearContents
    Set Ay = Range("B9:B21").Find(Format(Date, "mmmm"), , , xlWhole)
    If Not Ay Is Nothing Then Range("D6") = Ay.Offset(0, 1).MergeArea.Cells(1, 1)
End Sub
kodu yapıştım.çalışmadı
214425
 
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
Aşağıdaki kodları ilgili sayfanın kod bölümüne yapıştırırsanız sayfayı aktifleştirdiğinizde belirttiğiniz işlemi yapar:

PHP:
Private Sub Worksheet_Activate()
[D6] = Evaluate("=LOOKUP(MONTH(TODAY()),{1;3;5;10;12},{""KIŞ"";""YAZA GEÇİŞ"";""YAZ"";""KIŞA GEÇİŞ"";""KIŞ""})")
End Sub
kod çalışmadı
214426
 
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
Birşey belirtmek istiyorum.kod hücrelerdeki yazılı olan ayları referans almamalı.kış dönemi ve diğer dönemler hangi ayları kapsıyorsa kodun içinde yeralmalı
 

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
Kodun çalışması için dosyada başka sayfaya ya da başka dosyaya geçip geri dönmeniz gerekiyor. Kod "sayfa aktifleştirildiğinde" çalışıyor. Başka türlü çalışmasını istiyorsanız hangi durumda çalışacağını belirtmeniz gerekiyor. Ayrıca herhangi bir hücreyi referans almıyor, istediğiniz gibi kod içinde değerlendirme yapılıyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kod çalışmadı demişsiniz. Peki çalışması için ne yaptınız?
 
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
Kodun çalışması için dosyada başka sayfaya ya da başka dosyaya geçip geri dönmeniz gerekiyor. Kod "sayfa aktifleştirildiğinde" çalışıyor. Başka türlü çalışmasını istiyorsanız hangi durumda çalışacağını belirtmeniz gerekiyor. Ayrıca herhangi bir hücreyi referans almıyor, istediğiniz gibi kod içinde değerlendirme yapılıyor.
Yusuf Bey başka sayfadan aktif sayfaya geçince kod çalıştı.Sistem saatini referans alarak direk dosyayı açar açmaz çalışması için ne yapabiliriz
 

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
Benim bildiğim dosya kapalıyken açıldığında da sayfa aktifleştiği için çalışması gerekiyor.
 
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
Benim bildiğim dosya kapalıyken açıldığında da sayfa aktifleştiği için çalışması gerekiyor.
"E6" hücresindeki bilgiyi silip dosyayı kapatıyorum tekrar açıyorum kod çalışmıyor bilgi gelmiyor sekmeler arası geçiş yapıp aktif sayfaya geliyorum kod çalışıyor "E6" hücresine bilgi geliyor
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu dosyanızın "BUÇALIŞMAKİTABI" ya da "THISWORKBOOK" bölümüne uygulayınız.

C++:
Option Explicit

Private Sub Workbook_Open()
    Dim Ay As Range
    With Sheets("Sheet1")
        .Range("D6").ClearContents
        Set Ay = .Range("B9:B21").Find(Format(Date + 260, "mmmm"), , , xlWhole)
        If Not Ay Is Nothing Then .Range("D6") = Ay.Offset(0, 1).MergeArea.Cells(1, 1)
    End With
End Sub
 
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
Aşağıdaki kodu dosyanızın "BUÇALIŞMAKİTABI" ya da "THISWORKBOOK" bölümüne uygulayınız.

C++:
Option Explicit

Private Sub Workbook_Open()
    Dim Ay As Range
    With Sheets("Sheet1")
        .Range("D6").ClearContents
        Set Ay = .Range("B9:B21").Find(Format(Date + 260, "mmmm"), , , xlWhole)
        If Not Ay Is Nothing Then .Range("D6") = Ay.Offset(0, 1).MergeArea.Cells(1, 1)
    End With
End Sub
Korhan Bey kod THISWORKBOOK bölümüne yapıştırınca çalıştı."E6" hücresindeki bilgiyi silip dosyayı kapatıyorum tekrar açıyorum kod çalışıyor.
 
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
Aşağıdaki kodu dosyanızın "BUÇALIŞMAKİTABI" ya da "THISWORKBOOK" bölümüne uygulayınız.

C++:
Option Explicit

Private Sub Workbook_Open()
    Dim Ay As Range
    With Sheets("Sheet1")
        .Range("D6").ClearContents
        Set Ay = .Range("B9:B21").Find(Format(Date + 260, "mmmm"), , , xlWhole)
        If Not Ay Is Nothing Then .Range("D6") = Ay.Offset(0, 1).MergeArea.Cells(1, 1)
    End With
End Sub
Korhan Bey desteğiniz için çok teşekkürler.Verdiğiniz kod çalışıyor
 
Üst