Ben tarih ve yılları değiştirip kodu denedim çalıştı sizde teferruatlıca deneyin.Önceki mesajdayazdığım sayfa ekleme olayını yapmadım.
Ben kodu resimdeki gibi bir modül içindeki sub Autoopen içine ekledim siz workbooksopen içinede ekleyebilirsiniz sub ve end sunb arasındaki kodları.
workbookopen e eklememin sebebi bazen çalışmıyor bende lakin ikiside Excel açılışında çalıştırıyor kodları.
Bu arada yazılımcılar bas bas bağırıyorlar Türkçe karakterler kullanmayın sayfada vs.. diye herkeste tersini uyguluyor
https://resim.accesstr.net/do.php?img=11002
Sub Auto_open()
Dim sonSut As Integer, tar As Range, son As Long
Dim syfYillikicmaL_2 As Worksheet, dolumu As Long
If Day(Date) < 15 Then Exit Sub
If Month(Date) < 5 Then Exit Sub
Set syfYillikicmaL_2 = ThisWorkbook.Sheets("İCMAL_2")
dolumu = 0
With ThisWorkbook.Sheets("YILLIK_İCMAL")
sonSut = .Cells(1, Columns.Count).End(xlToLeft).Column
If sonSut < 2 Then Exit Sub
son = syfYillikicmaL_2.Cells(Rows.Count, 1).End(3).Row
For Each tar In .Range(.Cells(1, 2), .Cells(1, sonSut))
If tar.Value = Year(Date) Then
dolumu = WorksheetFunction.CountA(.Range(.Cells(1, tar.Column), .Cells(Rows.Count, tar.Column)))
If dolumu > 1 Then GoTo var
syfYillikicmaL_2.Range("A2:A" & son).Copy .Cells(2, 1)
syfYillikicmaL_2.Range("F2:F" & son).Copy .Cells(2, tar.Column)
Exit For
End If
Next
End With
Application.CutCopyMode = False
Set tar = Nothing: Set syfYillikicmaL_2 = Nothing
MsgBox "Bitti"
var:
Set tar = Nothing: Set syfYillikicmaL_2 = Nothing
End Sub