• DİKKAT

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

sayfa kopyalama

zulfuernek

Altın Üye
Katılım
24 Haziran 2017
Mesajlar
761
Excel Vers. ve Dili
türkçe
userformda bir adet buton ve bir adet de textbox var

1) örneğin textboxa 1 yazıyorum ve butona tıklayınca 1 isimli bir dosya açacak ve ben textboxa ne yazarsam o isimde yeni bir sheet oluşturacak. fakat boş bir sayfa açmek yerine şablon adlı sayfanın bir kopyasından oluşturmalı.

2) sadece butona tıklayınca değil enter tuşuna basıncada bahsettiğim şekilde sayfayı oluşturmalı.

3) aynı isimde bir sayfa varsa " mükerrer kayt var" diyerek mesaj vermeli ve yeni isim vermeliyim.

saygılarımla.
 
userformda bir adet buton ve bir adet de textbox var

1) örneğin textboxa 1 yazıyorum ve butona tıklayınca 1 isimli bir dosya açacak ve ben textboxa ne yazarsam o isimde yeni bir sheet oluşturacak. fakat boş bir sayfa açmek yerine şablon adlı sayfanın bir kopyasından oluşturmalı.

2) sadece butona tıklayınca değil enter tuşuna basıncada bahsettiğim şekilde sayfayı oluşturmalı.

3) aynı isimde bir sayfa varsa " mükerrer kayt var" diyerek mesaj vermeli ve yeni isim vermeliyim.

saygılarımla.


Bir tuşa basınca yer yerinden oynasın ister misiniz? :)
Şaka bir yana, her sorunuz için örnek dosya atarsanız daha rahat sonuca ulaşırsınız.
 
bedri hocam Word işimizi görmüyor. fakat dediğinizyeni bir sayfa açma olayı nasıl.. yanisayfayı kopyaladıktan sonramı ismini belirlemek için işlem yapsın. bende bir kod var ama eksik aslında. yani mükerrer girince hata veriyor. fakat sayfa açıyor. ama yeni boş bir sayfa ekliyorum hemen bi inceleyin isterseniz.

aşağıdaki kodla denememi söylediler fakat nereye yapıştıracağımı bilemedim :(. fakat bu kodda sadece mükerrer kayıt için ama kopya sayfa açma işlemi için değil. birleştirip bişeyler yapabilir misiniz.

Sub TEST()
Dim S1 As Worksheet
Set S1 = Sheets(TextBox1.Text)
If S1 Is Nothing Then
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = TextBox1.Text
Else
MsgBox TextBox1.Text & " isimli sayfa daha önce eklenmiş!", vbCritical
End If
End Sub

normal açma kodu aşağıdaki gibi

http://dosya.co/lmad49e6rozc/ŞABLON_DOSYA.xlsm.html
 
Dosyayı ekten indirebilirsiniz.

Sileceğiniz veya ismini değiştireceğiniz sayfayı listeden seçiyorsunuz.
SİLİNMEZ isimli dosya sabit kalacak; silinmeyecek, aksi takdirde kod hata verir.

Sayfa Ekle butonu yeni bir sayfa açarak bu sayfaya ŞABLON sayfasını olduğu gibi kopyalar.

ŞABLON sayfası korumalıdır, userform üzerinden silinemez.

İşinizi görür.

Sayfaları listeden göreceğiniz için mükerrer isim vermeyin siz de. :)

ŞABLON DOSYA.xlsm - 30 KB
 
Sayfaya İsim Ver butonuna sağ tıkla,
View Code'yi seç.

Çıkan kodun İlk satırı ile son satırı arasındaki kodları silip aşağıdaki kodu yapıştırınız.
Mükerrer kayıtta uyarı verir, mükerrer değilse ismi değiştirir bu kodla.

Kod:
Dim S1 As Worksheet
Set S1 = Sheets(ComboBox1.Text)
If S1 Is Nothing Then
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = ComboBox1.Text
Else
MsgBox ComboBox1.Text & " isimli sayfa daha önce eklenmiş!", vbCritical
End If


    Unload Me
YENİ_SAYFA_AÇMA.Show
 
ya bedri hocam sen, bu prat,k çözümlerine hastayım :)))
kodu buldum ek yaparak bu iş tamamdır bedri hocam.
command buton1 koduna 1 satır eleme yaptım textboxa girdiğim değerle dediğim gibi kopyalayp açma işlemi başardık. şimdi tek sorunum mükerrer açmaması :)))) hadi birlikte onuda başaracaz ha gayretttt :) ekliyorum bi incel istersen yeni kodu hocam.

http://dosya.co/lysx5gyn80sc/ŞABLON_DOSYA.xlsm.html
 
Aşağıdaki kodun revize edilmesi gerekiyor.
Ben beceremedim.

Kod:
Private Sub CommandButton1_Click()

If TextBox1.Text <> "" Then

Dim S1 As Worksheet
Set S1 = Sheets(TextBox1.Text)
If S1 Is Nothing Then
Sheets("ŞABLON").Select
Cells.Select
Range("H7").Activate
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = TextBox1.Text
Sheets(TextBox1.Text).Paste
Else
MsgBox TextBox1.Text & " isimli sayfa daha önce eklenmiş!", vbCritical
End If
    
    
Unload Me
YENİ_SAYFA_AÇMA.Show



Else
MsgBox "Sayfaya bir isim veriniz.", vbInformation, "      Bilgi"
End If
End Sub
 
Deneyiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim S1 As Worksheet
    If TextBox1 = "" Then
        MsgBox "Lütfen sayfa ismi giriniz!", vbCritical
        TextBox1.SetFocus
        Exit Sub
    End If
    On Error Resume Next
    Set S1 = Sheets(TextBox1.Text)
    On Error GoTo 0
    If S1 Is Nothing Then
        Sheets("ŞABLON").Copy After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = TextBox1.Text
        Unload Me
        YENİ_SAYFA_AÇMA.Show
    Else
        MsgBox TextBox1.Text & " isimli sayfa daha önce eklenmiş!", vbCritical
        With TextBox1
            .SetFocus
            .SelStart = 0
            .SelLength = (Len(.Text))
        End With
    End If
    Set S1 = Nothing
End Sub
 
korhan hocam ellerine kollarına sağlık. bedri hocam seninde. işte bu. :)))))) size ne kadar teşekkür etsem azdır. emeklerinize sağlık. varolun. :))))
 
Geri
Üst