Yeni Sayfanın Adını Otomatik Tarih Yapmak

Katılım
25 Haziran 2008
Mesajlar
63
Excel Vers. ve Dili
2003 türkçe
Yeni bir çalışma sayfası eklediğimizde sayfa1 sayfa2 diye gidiyor
bunun yerine mesela sayfa 1 in adı
01.01.17 yeni sayfa açtığımda adı 02.01.17 ....30.12.17 diye gitsin tabi spnra
01.01.18 diye devam etsin istiyorum ne yapmam lazım
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,398
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları ThisWorkbook'un kod bölümüne kopyalayın.

Eğer dosyada sayfa isimlerinden en az 1 tane tarih varsa yeni eklenen sayfa o tarihten 1 gün fazlası olacaktır, yoksa günün tarihinden 1 sonraki tarihin adını verir.

Kod:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    
    Dim Syf     As Worksheet, _
        SyfA    As Date
    
    For Each Syf In Worksheets
        If IsDate(Syf.Name) = True Then
            If Syf.Name > SyfA Then SyfA = Syf.Name
        End If
    Next Syf
    
    If SyfA = "00:00:00" Then SyfA = Date
    SyfA = SyfA + 1
    ActiveSheet.Name = Format(SyfA, "dd.mm.yy")
    
End Sub
 
Katılım
25 Haziran 2008
Mesajlar
63
Excel Vers. ve Dili
2003 türkçe
süper
son bir şey yeni açtığımız sayfanın adı istediğim gibi peki
içeriğinide kopyalayabilir miyiz
yani sayfaya kendinden evvelki sayfayı nasıl kopyalarız
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,398
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Yine aşağıdaki kodları ThisWorkBook'un kod sayfasına kopyalayıp deneyiniz.

Not : Sayfa isimlerinde tarih arar bulursa onun 1 fazlasını yeni sayfaya verir ve ilgili tarih olan sayfanın kopyasını çıkartır.

Deneyiniz.

Kod:
Private Sub Workbook_NewSheet(ByVal Sh As Object)

    Dim Tarih   As Date
    Dim Sayfa   As Worksheet
    Dim Durum   As Boolean
    Dim indis   As Integer
    
    For Each Sayfa In Worksheets
        If IsDate(Sayfa.Name) = True Then
            If Sayfa.Name > Tarih Then
                Tarih = Sayfa.Name
                indis = Sayfa.Index
            End If
        End If
    Next Sayfa
    
    If Tarih = "00:00:00" Then
        Tarih = Date
    Else
        Durum = True
        Tarih = Tarih
    End If
    
    ActiveSheet.Name = Format(Tarih + 1, "dd.mm.yy")
    If Durum = True Then
        Sheets(indis).Cells.Copy
        Range("A1").Select
        ActiveSheet.Paste
        Range("A1").Select
    Else
        MsgBox "DOSYADA TARİH İLE İLGİLİ BİR SAYFAYA RASTLANMADIĞINDAN KOPYALAMA YAPILMADI", vbCritical
    End If
    
End Sub
 
Katılım
2 Aralık 2024
Mesajlar
1
Excel Vers. ve Dili
Excel 2016
Hocam tarihin yıl kısmını 4 haneli nasıl yapabiliriz ?. Kod da .yy olan yeri .yyyy yaptım ama olmadı.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,398
Excel Vers. ve Dili
Ofis 365 Türkçe
Hocam tarihin yıl kısmını 4 haneli nasıl yapabiliriz ?. Kod da .yy olan yeri .yyyy yaptım ama olmadı.
gg.aa.yy olarak adlandırılan sayfa isimlerinde kodda
Kod:
 ActiveSheet.Name = Format(Tarih + 1, "dd.mm.yy")
yıl hanesini 4 karaktere çıkarttığımda
Kod:
ActiveSheet.Name = Format(Tarih + 1, "dd.mm.yyyy")
bende yıl 4 haneli olarak çalıştı.
 
Üst