• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makro ile sayfa kopyalama

Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Arkadaşlar aşağıda makro ile sayfa kopyalama kodum var. Makroyu her çalıştırdığımda sayfa1(2) sayfa1(3) sayfa1(4) diye diye gidiyor. Ben burada A1 hücresine girilen değeri sayfa adı olarak tanımlamak istiyorum. Bunu nasıl yapabilirim ?

Kod:
Sub Makro1()
'
' Makro1 Makro
'

'
    Sheets("Sayfa1").Select
    Sheets("Sayfa1").Copy After:=Sheets(3)
End Sub
 
Aşağıdaki kodun kırmızı yerini kendinize göre uyarlayarak denermisiniz.
Sub Makro1()
'
' Makro1 Makro
'

'
Sheets("Sayfa1").Select
Sheets("Sayfa1").Copy After:=Sheets(3)
ActiveSheet.Name = Sheets("Sayfa1").Cells(1, 1)
End Sub
 
Son düzenleme:
Çok teşekkür ederim tam istediğim gibi. Bir şey daha sormak istiyorum. İlgili hücredeki değeri değiştirmeden yani dalgınlıkla aynı isimle birden fazla sayfa oluşturmaya çalıştığımda Debug hatası veriyor. Bunun yerine bir uyarı mesajı çıkmasını sağlayabilir miyiz ?
 
Buyrun.
Sub Makro1()
'
' Makro1 Makro
'

'

For Each c In Sheets("Sayfa1").Range("a1")
If SAYFA(c.Value) Then
MsgBox "Bu sayfa adı mevcut. Lütfen başka isim verin.", vbCritical, "DİKKAT!!!"
Exit Sub
Else
Sheets("Sayfa1").Select
Sheets("Sayfa1").Copy After:=Sheets(3)
ActiveSheet.Name = Sheets("Sayfa1").Cells(1, 1)
End If
Next
End Sub
Function SAYFA(SAYFAADI As String) As Boolean
On Error Resume Next
SAYFA = CBool(Len(Worksheets(SAYFAADI).Name) > 0)
End Function
 
Geri
Üst