- 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;
"Daily Plan" kod bölümüne;
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
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