Otomatik Adlandırma

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Burada "HAZİRAN" sayfasını taşıyıp kopyalama yaptığımda yeni sayfanın "TEMMUZ, AĞUSTOS… vs" otomatik olarak adlandırılmasını sağlamak istiyorum.
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,678
Excel Vers. ve Dili
Excel 2019 Türkçe
Kodu, Dosyanın ThisWorkBook kısmına ekleyin.
Kod:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    arr = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
    For i = 0 To UBound(arr)
        If arr(i) = Sh.Previous.Name Then
            Sh.Name = arr(i + 1)
            Sh.Previous.Cells.Copy Sh.[a1]
        End If
    Next
End Sub
 

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Sayın hamitcan ilginize teşekkür ederim. Verdiğiniz kodu ekledim ama isimler değişmiyor. Mayıs ise mayıs(2) oluyor.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,678
Excel Vers. ve Dili
Excel 2019 Türkçe
Taşı veya Kopyala yapmayacaksınız, sadece sayfa ekleyeceksiniz.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,678
Excel Vers. ve Dili
Excel 2019 Türkçe
Sayfa isimlerinin kod içindeki yazılışları ile aynı olmasına dikkat ediniz.
 

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Dediğiniz gibi sadece sayfa eklemeye çalıştım EK'teki mesajı aldım.
 

Ekli dosyalar

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
İlginize çok teşekkür ederim. Sayfa eklerken olduğu gibi kopyalanmasını sağlamak mümkün mü? Çünkü sayfa yapısı bozuluyor.
 
Son düzenleme:

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,678
Excel Vers. ve Dili
Excel 2019 Türkçe
Kodu sayfa içinde bir butona bağlayıp kullanabilirsiniz.
Kod:
Sub TasiKopyala()
    ActiveSheet.Copy Before:=Sheets(1)
    arr = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
    For i = 0 To UBound(arr)
        If arr(i) = ActiveSheet.Next.Name Then
            ActiveSheet.Name = arr(i + 1)
        End If
    Next
End Sub
 

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Buton ekleyerek yaptım ama HAZİRAN, TEMMUZ, AĞUSTOS .... sağa doğru sıralayıp gitmesi gerekirken sola doğru AĞUSTOS, TEMMUZ, HAZİRAN gibi sıralıyor.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,678
Excel Vers. ve Dili
Excel 2019 Türkçe
Ben olsam o kadar takmazdım. Kodu burada değiştirdim bir de böyle deneyin.
Kod:
Sub TasiKopyala()
    ActiveSheet.Copy After:=Sheets(1)
    arr = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
    For i = 0 To UBound(arr)
        If arr(i) = ActiveSheet.Previous.Name Then
            ActiveSheet.Name = arr(i + 1)
        End If
    Next
End Sub
 

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
İlginize teşekkür ederim.
 
Üst