Otomatik Adlandırma

iplikci_80

Altın Üye
Altın Üye
Katılım
29 Kasım 2007
Mesajlar
848
Beğeniler
11
Excel Vers. ve Dili
excel 2007
#1
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

Katılım
1 Temmuz 2004
Mesajlar
7,285
Beğeniler
64
Excel Vers. ve Dili
Excel 2007 Türkçe
#2
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
Altın Üye
Katılım
29 Kasım 2007
Mesajlar
848
Beğeniler
11
Excel Vers. ve Dili
excel 2007
#3
Sayın hamitcan ilginize teşekkür ederim. Verdiğiniz kodu ekledim ama isimler değişmiyor. Mayıs ise mayıs(2) oluyor.
 
Katılım
1 Temmuz 2004
Mesajlar
7,285
Beğeniler
64
Excel Vers. ve Dili
Excel 2007 Türkçe
#4
Taşı veya Kopyala yapmayacaksınız, sadece sayfa ekleyeceksiniz.
 
Katılım
1 Temmuz 2004
Mesajlar
7,285
Beğeniler
64
Excel Vers. ve Dili
Excel 2007 Türkçe
#5
Sayfa isimlerinin kod içindeki yazılışları ile aynı olmasına dikkat ediniz.
 

iplikci_80

Altın Üye
Altın Üye
Katılım
29 Kasım 2007
Mesajlar
848
Beğeniler
11
Excel Vers. ve Dili
excel 2007
#8
İ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:
Katılım
1 Temmuz 2004
Mesajlar
7,285
Beğeniler
64
Excel Vers. ve Dili
Excel 2007 Türkçe
#10
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
Altın Üye
Katılım
29 Kasım 2007
Mesajlar
848
Beğeniler
11
Excel Vers. ve Dili
excel 2007
#11
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.
 
Katılım
1 Temmuz 2004
Mesajlar
7,285
Beğeniler
64
Excel Vers. ve Dili
Excel 2007 Türkçe
#12
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
 
Üst