Bir hücreye bağlı sayfa isimlerinin değişmesi

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,615
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Önerdiğim kodu dosyanıza uyguladım. Makroyu çalıştırdığımda evet hata veriyor. Fakat bu hatanın sebebi I1 ve R1 hücresinin aynı tarihi içermesidir. Benzer durumlar farklı hücrelerde de var. Sanki hatalı gibi görünüyor. Tarihi arttırarak devam ettirmelisiniz gibi görünüyor. Böyle düzeltirseniz makro sorunsuz çalışacaktır.

Eğer hatalı değilse böyle durumlarda olması gereken işlem nedir?

Ek olarak kodun otomatik çalışması için öncelikle ilk önerdiğim (yukarıdaki paragraftaki hatalı durumu atlamak için aşağıdaki küçük revizeler yaptım) kodu bir modüle uygulayınız. Sonrasında Daily Plan sayfasının kod bölümüne aşağıdaki kodu uygulayabilirsiniz.

Module1;
C++:
Option Explicit

Sub Update_Sheets_Name()
    Dim S1 As Worksheet, X As Byte, Rng As Range, No As Integer
    
    Application.ScreenUpdating = False
    
    Set S1 = Sheets("Daily Plan")
    
    No = 5
    
    For X = 5 To 32
        Sheets(X).Name = X - 4
    Next
    
    For Each Rng In S1.Range("I1:AJ1")
        If Rng <> "" Then
            Sheets(No).Name = Left(Rng.Value, 31)
        End If
        No = No + 1
    Next
    
    Set S1 = Nothing
    
    Application.ScreenUpdating = True
    
    MsgBox "Sayfa isimleri güncellenmiştir.", vbInformation
End Sub
"Daily Plan" kod bölümüne;
C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("I1:AJ1")) Is Nothing Then Exit Sub
    Call Update_Sheets_Name
End Sub
 
Katılım
10 Haziran 2021
Mesajlar
12
Excel Vers. ve Dili
2007
Korhan bey merhaba
Yazdıklarınızı aynı şekilde uyguladım . Öncelikle şunu belirtim tekrsr . eğer I1 den başlayan AJ1 de biten tarihler ı1 satırında 15.02.2023 var ise J1 satırında I1+1 ,K satirindaki tarih J1+1 ...Bu şekilde AJ ye kadar gidiyor . buna bağlı olarak ben I1 deki tarihi degisitirince diğerleride otomatik 1 er gün ileri atıyor .
Şimdi gelelim kod a
Kod mesela; I1 e 15.02.2023 yazdım diğerleri sırasıyla gitti ve aşağıdaki sayfa 1/sayfa 2 ve diğerleri değişti . Ok. Buraya kadar problem yok . Fakat I1 i 16.02.2023 yapinca diğerleri sırasıyla ilerliyor fakat aşağısı değişmiyor . Aynı ay içindeki tarihler aşağıdaki sayfa numaralarindaki tarihlerde olduğu için . Ama eğer I1 e 15.03.2023 ile başlasam bu sefer sıkıntı yok neden çünkü aynı tarihler çakismiuyor. Problem tamamen yukarıdaki tarihler arasında (I1 DEN AJ1 kadar olan tarihler icjnde )
Eğer aşağıdaki sayfa adlarında olan tarihler var ise kod calismiuor yani sayfa güncellendi diyor ama öyle kalıyor . Sadece bu problem kaldı şuan
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,615
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
#21 nolu mesajımda "Module1" için önerdiğim kodu revize ettim. Tekrar deneyiniz.
 
Katılım
10 Haziran 2021
Mesajlar
12
Excel Vers. ve Dili
2007
#21 nolu mesajımda "Module1" için önerdiğim kodu revize ettim. Tekrar deneyiniz.
Tebrik ederim . Şimdi oldu . .. Emeğinize sağlık . Harikasiniz.Çok başarılı .

Yalniz ufak bir ricam daha olsa ...

Size gönderdiğim aynı Excel içerisinde bulunan Daily plan ve Weekly Plan sayfalarının içinde G sütununda( her iki sayfada aynı) bulunan
Performed satırlarinin her bir hücresi ( I dan AJ ye kadar )
Result satırlarinin her bir hücresinden (I dan AJ ye kadar ) > olması durumda
Bulundugumuz sayfada ( Daily Plan ) yada ( Weekly Plan ) hangisi olursa fark etmez sayfa içinde uyarı penceresi çıksın ekran su şekilde

İngilizce terim

WARNING

Performed quantity can not be greater then Planned!!!

Yapabilirmiyiz acaba ?
 
Katılım
10 Haziran 2021
Mesajlar
12
Excel Vers. ve Dili
2007
Tebrik ederim . Şimdi oldu . .. Emeğinize sağlık . Harikasiniz.Çok başarılı .

Yalniz ufak bir ricam daha olsa ...

Size gönderdiğim aynı Excel içerisinde bulunan Daily plan ve Weekly Plan sayfalarının içinde G sütununda( her iki sayfada aynı) bulunan
Performed satırlarinin her bir hücresi ( I dan AJ ye kadar )
Result satırlarinin her bir hücresinden (I dan AJ ye kadar ) > olması durumda
Bulundugumuz sayfada ( Daily Plan ) yada ( Weekly Plan ) hangisi olursa fark etmez sayfa içinde uyarı penceresi çıksın ekran su şekilde

İngilizce terim

WARNING

Performed quantity can not be greater then Planned!!!

Yapabilirmiyiz acaba ?


Dosyanın en son hali uzantıdaki gibidir.

 
Üst