aynı sayfa adı varsa

burhancavus61

Altın Üye
Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
03.11.2024
aynı sayfa adı varsa kopyalam işlemini iptal etsin. Ben aşağıdaki kodu kullanıyorum hata oluyor.

Kod:
    For a = 1 To Sheets.Count
    ActiveSheet.Name = [V2] & "-" & [AC2]
    sor = MsgBox("Aynı Puantaj adı mevcuttur. Arşivlenen Puantajı silip tekrar deneyiniz..!", 20, "SON UYARI")
    If sor = vbNo Then Exit Sub
    Next
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,196
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Sorunuz anlaşılmıyor. Linkte sayfa kontrolü ile ilgili kodlar mevcut. İnceleyin. #3 numaralı mesaj.


.
 

burhancavus61

Altın Üye
Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
03.11.2024
Bana uygun değil gibi hocam. şablondan sayfa kopyalayıp yeniden adlandırıyorum. eğer adlandırdığım sayfa adının aynısı varsa sayfa kopyalama işlemi iptal olmalı. yoksa kopyalama işlemi yapılmalı.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,196
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Yapmak istediğinizle ilgili küçük bir örnek dosya ekler misiniz.
 

burhancavus61

Altın Üye
Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
03.11.2024
Ekledim hocam açıklamada yazdım
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,196
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodları aşağıdakilerle değiştirerek deneyin.
Kod:
Sub PuantajTası()
    
'Puantaj Taşıma
    Sheets("Puantaj").Select
    
    If varmi([C2] & "-" & [D2]) Then
        MsgBox "Bu Sayfa Adı Var"
        Exit Sub
    End If
  
    Sheets("Puantaj").Copy After:=Worksheets(Worksheets.Count)
'Sayfa Adlandırma
'    For a = 1 To Sheets.Count
    ActiveSheet.Name = [C2] & "-" & [D2]
'    sor = MsgBox("Aynı Puantaj adı mevcuttur. Arşivlenen Puantajı silip tekrar deneyiniz..!", 20, "SON UYARI")
'    If sor = vbNo Then Exit Sub
'    Next
'Formülleri Kaldırma
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("K6").Select
'---------------------------------------------------------------------
'SAYFANIN MAKROLARINI SİLME
'        Dim VBCodeMod
'        Set DimVBCodeMod = ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
'        VBCodeMod.DeleteLines 1, VBCodeMod.CountOfLines
'---------------------------------------------------------------------
    Sheets("Giriş").Select
    Range("D4").Select
End Sub

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

burhancavus61

Altın Üye
Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
03.11.2024
Teşekkür ederim hocam sonunda halloldu.
 
Katılım
7 Ocak 2014
Mesajlar
3
Excel Vers. ve Dili
Office 365
Merhabalar Hocam. Vba macro ile otomatik farklı isimlerde sayfalar oluşturmak istiyorum. Aynı isimde sayfa varsa diğerine geçmesini istiyorum. Bir nevi kontrol için kullanacağım. Olmayan sayfayı ilave etmesi için. Yardımcı olursanız sevinirim. Şimdiden teşekkürler.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,232
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları kendinize uyarlayınız.
Kod:
Public Sub deneme()

Dim sayfaAdi As Variant
Dim syf As Worksheet

Set syf = ActiveSheet

Application.ScreenUpdating = False

sayfaAdi = Application.InputBox("Sayfa Adını Giriniz", Type:=2)
If sayfaAdi = False Then Exit Sub

If varmi(CStr(sayfaAdi)) = False Then
    Sheets.Add after:=Sheets(Sheets.Count)
    ActiveSheet.Name = sayfaAdi
    MsgBox sayfaAdi & " sayfası açılmıştır...."
    syf.Select
Else
    MsgBox "sayfa var, açılamaz....", vbCritical
End If
Application.ScreenUpdating = True

End Sub
Kod:
Function varmi(adi As String) As Boolean
    On Error Resume Next
    varmi = CBool(Len(Worksheets(adi).Name) > 0)
End Function
 
Katılım
7 Ocak 2014
Mesajlar
3
Excel Vers. ve Dili
Office 365
Çok teşekkür ederim. Deniyorum makroyu. Şöyle bir sorunum var. Olan bir sayfa adında hata çıkmasından ziyade yok sayarak olmayan sayfa ismine göre açmaya devam nasıl ettirebilirim ?
 
Katılım
7 Ocak 2014
Mesajlar
3
Excel Vers. ve Dili
Office 365
Kusurabakmayın çok acemi olduğum için sizi uğraştırıyorum. Aslında basit ama ben macroya biraz uzağım. Aşağıdaki gibi sayfaları çoğaltırken aynı isimde sayfa var ise hiçbirşey yapmadan diğerine geçerek olmayanlarını açmasını istiyorum sadece. Teşekkürler.


Kod:
Sub sayfa()
'
' sayfa Makro
'

'
    Sheets("Genel").Select
    Sheets("Genel").Copy After:=Sheets(1)
    Sheets("Genel (2)").Select
    Sheets("Genel (2)").Name = "adem"
    Sheets("Genel").Select
    
    Sheets("Genel").Select
    Sheets("Genel").Copy After:=Sheets(1)
    Sheets("Genel (2)").Select
    Sheets("Genel (2)").Name = "adem"
    Sheets("Genel").Select
    
    Sheets("Genel").Select
    Sheets("Genel").Copy After:=Sheets(1)
    Sheets("Genel (2)").Select
    Sheets("Genel (2)").Name = "bdem"
    Sheets("Genel").Select
    
    
End Sub
 
Üst