Istenilen sayfa varsa makrosu

kadir78

Altın Üye
Katılım
6 Nisan 2016
Mesajlar
227
Excel Vers. ve Dili
office 2019
Altın Üyelik Bitiş Tarihi
30-12-2026
İyi günler. Aşağıdaki kodlar ile yeni bir sayfa oluşturuyorum fakat if komutu ile sayfa yoksa "üretim raporu" sayfasını oluştur varsa oluşturma kodlarını yapamadım. Yardımcı olurmusunuz.

Kod:
Set s7 = Sheets("Taslak")

s7.copy After:=Activesheet
Activesheet.Name = "Üretim Raporu"
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,182
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;

Boş bir modüle;

Sub sayfa_oluştur()
Dim Sayfa As String
Sayfa = "Üretim Raporu"
If Not SayfaVarMi(Sayfa) Then
Set s7 = Sheets("Taslak")
s7.Copy After:=ActiveSheet
ActiveSheet.Name = "Üretim Raporu"
End If
End Sub

Function SayfaVarMi(SayfaAdi As String) As Boolean
On Error Resume Next
SayfaVarMi = CBool(Len(Worksheets(SayfaAdi).Name) > 0)
End Function

Ekleyerek sayfa oluştur makrosunu deneyin.

İyi çalışmalar.
 

Korhan Ayhan

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

C++:
Option Explicit

Sub Test()
    Dim S7 As Worksheet, S1 As Worksheet
    
    Set S7 = Sheets("Taslak")
    
    On Error Resume Next
    Set S1 = Nothing
    Set S1 = Sheets("Üretim Raporu")
    On Error GoTo 0
    
    If S1 Is Nothing Then
        S7.Copy After:=ActiveSheet
        ActiveSheet.Name = "Üretim Raporu"
    Else
        MsgBox "Eklemek istediğiniz sayfa zaten var!", vbCritical
    End If
End Sub
 

kadir78

Altın Üye
Katılım
6 Nisan 2016
Mesajlar
227
Excel Vers. ve Dili
office 2019
Altın Üyelik Bitiş Tarihi
30-12-2026
Sayın Muygun. Kodlar için teşekkür ederim çok sağolun.
 

kadir78

Altın Üye
Katılım
6 Nisan 2016
Mesajlar
227
Excel Vers. ve Dili
office 2019
Altın Üyelik Bitiş Tarihi
30-12-2026
Alternatif;

C++:
Option Explicit

Sub Test()
    Dim S7 As Worksheet, S1 As Worksheet
   
    Set S7 = Sheets("Taslak")
   
    On Error Resume Next
    Set S1 = Nothing
    Set S1 = Sheets("Üretim Raporu")
    On Error GoTo 0
   
    If S1 Is Nothing Then
        S7.Copy After:=ActiveSheet
        ActiveSheet.Name = "Üretim Raporu"
    Else
        MsgBox "Eklemek istediğiniz sayfa zaten var!", vbCritical
    End If
End Sub
Korhan hocam sağolun. Elinize emeğinize sağlık. Teşekkür ederim.
 
Üst