Sayfa çoğaltma

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Merhaba.

Ekte gönderdiğim excel dosyamda aşağıdaki kod mevcut, butona bastığımda sayfa çoğaltıyor.
Kod:
Sub sayfa_kopyala()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
say = ActiveWorkbook.Sheets.Count
Sheets(ActiveSheet.Name).Select
Sheets(ActiveSheet.Name).Copy After:=Sheets(say)
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Sayfalarım yıl isimleri, yapmak istediğim sayfa üzerindeki butona bastığımda bir sonraki yılın ismi ile sayfayı hemen yanına sol tarafa çoğaltmasını istiyorum.

Örneğin 2019 sayfasındaki butona bastığımda hemen soluna 2020 sayfası oluşsun, 2018 sayfasındaki butona bastığımda 2019 sayfası olduğu için bu sayfa zaten var şeklinde uyarı vermesini istiyorum.
Yardımcı olur musunuz?
 

Ekli dosyalar

Son düzenleme:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Forumda Sayın Korhan Bey'in yazmış olduğu aşağıdaki kodu buldum, bu gayet güzel çalışıyor, ellerine sağlık.

Sayfa isimleri rakam olması şartı eklemeye çalıştım olmadı.
Birde bu eklemiş olduğu sayfayı ilk başa eklerse daha iyi olacak.

Yardımcı olur musunuz?

Kod:
Option Explicit
Sub SAYFA_KOPYALA()
    Dim SAYFA_ADI As Variant
  
    SAYFA_ADI = Application.InputBox("Sayfa ismini giriniz.")
  
    If SAYFA_ADI = False Then
    MsgBox "İşleminiz iptal edilmiştir.", vbInformation
    Exit Sub: End If
  
    If SAYFA_ADI = "" Then
    MsgBox "Lütfen sayfa adı giriniz. İşleminiz iptal edilmiştir.", vbInformation
    Exit Sub: End If
  
    Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
  
    On Error GoTo Devam
    ActiveSheet.Name = SAYFA_ADI
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
    Exit Sub
  
Devam:
    MsgBox "Aynı isimde sayfa bulunmaktadır. Eklenen son sayfa silinecektir.", vbCritical, "Dikkat !"
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,256
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
Option Explicit

Sub Sayfa_Kopyala()
    Dim Sayfa_Adi As Integer
    On Error Resume Next
    Sayfa_Adi = ActiveSheet.Name
    If Err.Number = 13 Then
        MsgBox "Sayfa adı numerik değildir. Kontrol ediniz!", vbCritical
        Exit Sub
    End If
    ActiveSheet.Copy Before:=Sheets(ActiveSheet.Index)
    On Error GoTo 10
    ActiveSheet.Name = Sayfa_Adi + 1
    Exit Sub
10
    MsgBox "Aynı isimde sayfa bulunmaktadır. Eklenen son sayfa silinecektir.", vbCritical
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
End Sub
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Korhan Bey ellerinize sağlık, çok teşekkür ediyorum.

Hayırlı günler diliyorum.
 

gurayavci

Altın Üye
Katılım
9 Ocak 2020
Mesajlar
48
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
11-12-2024
Merhaba

Aynı örnek üzerinde yeni sayfa eklediğimde örnekteki gibi sola değil sağa doğru sayfayı kopyalamasını ve sayfa adına +1 eklemesini istiyorum fakat Sayfa adı hem alfabetik hem numerik (Box- 1) şeklinde Box- 2 Box- 3 şeklinde ilerlemesini istiyorum , gönderdiğiniz formülü düzenlemeye çalıştım fakat yönü sağa çevirmeyi ve ismin sonundaki rakamı değiştirmeyi çözemedim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Merhaba

Aynı örnek üzerinde yeni sayfa eklediğimde örnekteki gibi sola değil sağa doğru sayfayı kopyalamasını ve sayfa adına +1 eklemesini istiyorum fakat Sayfa adı hem alfabetik hem numerik (Box- 1) şeklinde Box- 2 Box- 3 şeklinde ilerlemesini istiyorum , gönderdiğiniz formülü düzenlemeye çalıştım fakat yönü sağa çevirmeyi ve ismin sonundaki rakamı değiştirmeyi çözemedim.
Örnek dosya paylaşır mısınız?
 

gurayavci

Altın Üye
Katılım
9 Ocak 2020
Mesajlar
48
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
11-12-2024
Yusuf bey sayfa adı ile ilgili talebimi başka şekilde çözdüm (Sayfa adını numerik yaptım(1-2-3)) fakat örnekte, düğmeye tıklayınca sayfalar sola doğru açılıyor, sağa doğru açılması için yardımcı olabilirmisiniz
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Kodda

ActiveSheet.Copy before:=Sheets(ActiveSheet.Index)


satırında before yerine after kullanmayı deneyin.

Eğer mevcut sayfanın sağında değil de en sonda olmasını isterseniz ActiveSheet.Index yerine Sheets.Count kullanabilirsiniz.
 

gurayavci

Altın Üye
Katılım
9 Ocak 2020
Mesajlar
48
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
11-12-2024
Teşekkürler Yusuf bey, oldu. Ben After yerine Next yazıyordum... :)
teşekkür ederim
 
Üst