• DİKKAT

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

Hücredeki isme göre yeni bir sayfa oluşturmak

Katılım
26 Ocak 2006
Mesajlar
757
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Kod:
 Sheets.Add After:=Sheets(Sheets.Count)
Sheets(ActiveSheet.Name).Name = [C2]

komutu ile c2 hcresindeki isme göre yeni bir sayfa oluşturuyorum. Ancak aynı isimde bir sayfa varsa uyarsın istiyorum. Kontrol kodunu yazamadım. Yardım lütfen.
 

Ekli dosyalar

Bu şekilde deneyin.
Kod:
 Sub YoksaEkle()
    Dim Sh As String
    Sh = [C2]
    If Not SheetExist(Sh) Then
        Set NewSh = Sheets.Add(After:=Sheets(Sheets.Count))
        NewSh.Name = Sh
    End If
    Set NewSh = Nothing
End Sub
'
Function SheetExist(ShName As String) As Boolean
    On Error Resume Next
    SheetExist = IIf(Sheets(ShName).Select, True, False)
End Function
 
Kod:
 Sheets.Add After:=Sheets(Sheets.Count)
Sheets(ActiveSheet.Name).Name = [C2]

komutu ile c2 hcresindeki isme göre yeni bir sayfa oluşturuyorum. Ancak aynı isimde bir sayfa varsa uyarsın istiyorum. Kontrol kodunu yazamadım. Yardım lütfen.

Merhaba
Alternatif Olsun
Boş bir module kopyalayın ve deneyin.
Kod:
Option Explicit
Sub sayfa_Aç_61()
On Error GoTo son
Dim ts, kaplan, trabzonspor As String
Set kaplan = Sheets("Sayfa1")
If ActiveSheet.Name = kaplan.Range("A3").Text Then
Sheets(kaplan.Range("A3").Text).Select
Else
trabzonspor = kaplan.Range("A3").Value
If trabzonspor <> "" Then Sheets(trabzonspor).Select
End If
Exit Sub
son:
Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = kaplan.Range("A3")
End Sub
 
Arkadaşlar her ikinizede ilginiz için çok teşekkürler. Eğer aynı isimli sayfa varsa o sayfaya gitmesini değil sadece MsgBox"Aynı isimli bir sayfa mevcut veya Müşteri ismi girmediniz" mesajını verdirmek istiyorum.
 
Bunu deneyin.
Kod:
 Sub YoksaEkle()
    Dim Sh As String
    Sh = [C2]
    If Not SheetExist(Sh) Then
        Set NewSh = Sheets.Add(After:=Sheets(Sheets.Count))
        NewSh.Name = Sh
    Else
    MsgBox "Aynı isimli bir sayfa mevcut ": Exit Sub
    End If
    Set NewSh = Nothing
End Sub
'
Function SheetExist(ShName As String) As Boolean
    On Error Resume Next
    Application.ScreenUpdating = False
    AktifSayfa = ActiveSheet.Name
    SheetExist = IIf(Sheets(ShName).Select, True, False)
    Sheets(AktifSayfa).Select
    Application.ScreenUpdating = True
End Function
 
Sayın bmutlu966

Eklediğiniz modüle aşağıdaki kodları uygulayınız.

Kod:
Sub ekle()
Application.ScreenUpdating = False
If ActiveWorkbook.Sheets("Taslak").Range("C2").Value = "" Then
MsgBox "Müşteri adını girmediniz.", vbCritical, " UYARI"
Exit Sub
End If
For a = 1 To Sheets.Count
If Sheets(a).Name = ActiveWorkbook.Sheets("Taslak").Range("C2").Value Then
MsgBox "" & ActiveWorkbook.Sheets("Taslak").Range("C2").Value & "" & vbLf & "Adına kayıtlı sayfa var ", vbCritical, " HATA"
Exit Sub
End If
Next
If MsgBox("" & ActiveWorkbook.Sheets("Taslak").Range("C2").Value & "" & vbLf & "Adına kayıtlı sayfa yok " & vbLf & "Şimdi açılsın mı ?", vbQuestion + vbYesNo, " BİLGİ") = vbYes Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Select
ActiveSheet.Name = ActiveWorkbook.Sheets("Taslak").Range("C2").Value
End If
Application.ScreenUpdating = True
End Sub
 
Arkadaşlar ilginiz için hepinize ayrı ayrı teşekkürler.
 
Geri
Üst