• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

Saygılarımla
 

Ekli dosyalar

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.
 
Korhan Bey çok özürdiliyorum özellikle belirtmeyi unuttum.Sadece kod olarak istiyorum.
 
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
 
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
 
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
 
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
 
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ı
 
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.
 
Kod çalışmadı demişsiniz. Peki çalışması için ne yaptınız?
 
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
 
Benim bildiğim dosya kapalıyken açıldığında da sayfa aktifleştiği için çalışması gerekiyor.
 
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
 
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
 
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.
 
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
 
Geri
Üst