• DİKKAT

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

Sayfayı kopyala ve ad ver.

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,042
Excel Vers. ve Dili
2013 Türkçe
Arkadaşlar merhaba.
Yarım saattir arıyorum ama bir türlü istediğim kodu elde edemedim.
Sayfa1 aynen kopyalayıp sayfa2 a1 hücresindeki adı sayfa adına nasıl verebilirim?
 
Sayfa1 kopyalayacak yeni bir sayfa ekleyecek(taşı ve kopyalada kopya oluşturun aynısı)
Sayfa2 A1 hücresindeki değeri eklenen sayfanın adı yapacak
 
Sayfa1 kopyalayacak yeni bir sayfa ekleyecek(taşı ve kopyalada kopya oluşturun aynısı)
Sayfa2 A1 hücresindeki değeri eklenen sayfanın adı yapacak

Merhaba;
aşağıdaki gibi bir kod işinizi görür mü?
Kod:
Sub copy()

    Sheets("Sayfa1").Select
    Sheets("Sayfa1").copy Before:=Sheets(1)
    Sheets("Sayfa1 (2)").Select
    Sheets("Sayfa1 (2)").Name = Sheets("Sayfa2").Range("a1")
End Sub
 
Selamlar,

Sayfa kopyalama işlemine hata kontrolünüde eklemek daha işlevsel olacaktır. Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub SAYFA_KOPYALA()
    On Error GoTo Son
    Sheets("Sayfa1").Copy After:=Sheets(Worksheets.Count)
    ActiveSheet.Name = [Sayfa2!A1]
    Exit Sub

Son:
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    MsgBox "Bu sayfa daha önce eklendi !", vbCritical
End Sub
 
Çok teşekkür ederim Sn mbldn ve Korhan Ayhan. Aradığım cevap buydu.
 
Son düzenleme:
Teşekkürler sayın Korhan Ayhan...
 
hocam,

benzer bir kodum var , aşağıda belirtiğim şekilde.
bu kod gördüğünüz gibi sayfa kopyalarken yeni sayfanın ismini, F4 hücresinden almaktadır.

benim yapmak istedim ise ;

f4 sabit olmasın da f4,f5,f6,f7... şekinde son dolu f hücresine kadar
tekararlasın bunu otomatik olarak

Sub copy()
On Error Resume Next

x = Sheets("sayfa1").Range("f4").Value

Sheets("veriler").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = x
 
Selamlar,

F sütunundaki verileri döngüye alarak sayfa kopyalama işlemini yapabilirsiniz. Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub SAYFA_KOPYALA()
    Dim Hücre As Range, Son_Satır As Long
    
    Application.ScreenUpdating = False
    
    Son_Satır = Sheets("Sayfa1").Range("F65536").End(3).Row
    
    For Each Hücre In Sheets("Sayfa1").Range("F4:F" & Son_Satır)
        If Hücre.Value <> "" Then
            On Error Resume Next
            If CBool(Len(Worksheets(Hücre.Text).Name) > 0) = False Then
                Sheets("veriler").Copy After:=Sheets(Sheets.Count)
                ActiveSheet.Name = Hücre.Text
            End If
            On Error GoTo 0
        End If
    Next
 
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Selamlar,

F sütunundaki verileri döngüye alarak sayfa kopyalama işlemini yapabilirsiniz. Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub SAYFA_KOPYALA()
    Dim Hücre As Range, Son_Satır As Long
    
    Application.ScreenUpdating = False
    
    Son_Satır = Sheets("Sayfa1").Range("F65536").End(3).Row
    
    For Each Hücre In Sheets("Sayfa1").Range("F4:F" & Son_Satır)
        If Hücre.Value <> "" Then
            On Error Resume Next
            If CBool(Len(Worksheets(Hücre.Text).Name) > 0) = False Then
                Sheets("veriler").Copy After:=Sheets(Sheets.Count)
                ActiveSheet.Name = Hücre.Text
            End If
            On Error GoTo 0
        End If
    Next
 
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub


korhan bey tamda istedigim gibi, tşk ediyorum
kolay gelsin :)
 
arkadaşlar emeğinize sağlık benimde benzer bir sorunum var hücredeki değer "/" işareti içeriyorsa sayfa adında bu işaret yerine boşluk bırakmak istiyorum. yardımcı olabilirmisiniz
 
Merhaba;
aşağıdaki gibi bir kod işinizi görür mü?
Kod:
Sub copy()

    Sheets("Sayfa1").Select
    Sheets("Sayfa1").copy Before:=Sheets(1)
    Sheets("Sayfa1 (2)").Select
    Sheets("Sayfa1 (2)").Name = Sheets("Sayfa2").Range("a1")
End Sub
Bu kod benimde işimi gördü teşekkürler
 
ilginiz için çok teşekkür ederim. dosyayı yüklemeye çalıştım olmadıysa tekrar deneyeceğim
 

Ekli dosyalar

ilginiz için çok teşekkür ederim. dosyayı yüklemeye çalıştım olmadıysa tekrar deneyeceğim

kitabınızın thisworkbook bölümünde bulunan kodu
Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
Dim Sayfa As String
If ActiveSheet.Name <> "İNŞ. KEŞİF" Then
Sheets("İNŞ. KEŞİF").Select
Else
Sayfa = Target.Value
If Sayfa <> "" Then Sheets(Sayfa).Select
End If
Exit Sub
Son:
Sor = MsgBox(Replace(Target.Value, "/", " ") & " Adlı Sayfa Yok, Eklemek İster Misiniz? ", vbYesNo, Target.Value & " Adlı Sayfanın Açılması")
If Sor = vbYes Then
Sheets("METRAJ ŞABLON").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Replace(Target.Value, "/", " ")
MsgBox Replace(Target.Value, "/", " ") & " Sayfası Açıldı......", vbOKOnly, "www.excel.web.tr"
End If
End Sub
bununla değiştirin. ve deneyin.
 
kitabınızın thisworkbook bölümünde bulunan kodu
Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
Dim Sayfa As String
If ActiveSheet.Name <> "İNŞ. KEŞİF" Then
Sheets("İNŞ. KEŞİF").Select
Else
Sayfa = Target.Value
If Sayfa <> "" Then Sheets(Sayfa).Select
End If
Exit Sub
Son:
Sor = MsgBox(Replace(Target.Value, "/", " ") & " Adlı Sayfa Yok, Eklemek İster Misiniz? ", vbYesNo, Target.Value & " Adlı Sayfanın Açılması")
If Sor = vbYes Then
Sheets("METRAJ ŞABLON").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Replace(Target.Value, "/", " ")
MsgBox Replace(Target.Value, "/", " ") & " Sayfası Açıldı......", vbOKOnly, "www.excel.web.tr"
End If
End Sub
bununla değiştirin. ve deneyin.

çok teşekkür ederim denedim oldu ellerinize sağlık
 
Merhaba arkadaşlar :
say = 0
For i = 1 To Sheets.Count
If Sheets(i).Name = yil Then
say = say + 1
Sheets(i).Activate
End If
Next
If say = 0 Then
Sheets("Taslak").Copy After:=Worksheets(Worksheets.Count)
ActiveWindow.ActiveSheet.Name = yil
End If
şeklinde yil değişkenine ait sayfa yoksa Taslak isimli sayfayı kopyalayıp yıl değişkeninin ismini sayfaya veriyorum. Fakat Taslak isimli sayfayı gizleyince kodlar işe yaramıyor. Yardımcı olurmusunuz..
Teşekkürler.
 
Merhaba arkadaşlar :

şeklinde yil değişkenine ait sayfa yoksa Taslak isimli sayfayı kopyalayıp yıl değişkeninin ismini sayfaya veriyorum. Fakat Taslak isimli sayfayı gizleyince kodlar işe yaramıyor. Yardımcı olurmusunuz..
Teşekkürler.

yardımlarınızı bekliyorum arkadaşlar...
 
Geri
Üst