yeni çalışma sayfası açarken biçimli sayfayı kopyalam

Katılım
5 Aralık 2004
Mesajlar
15
formdan bir kitab içinde yeni çalışma sayfa açmak.açılan sayfa sekmesine userform ile isim vermek ile ilgili kodları aldım. fakat ben yeni açılan sayfaya isim atadığımız gibi aynı anda daha önce biçimlendirme yapılmış mastar bir sayfadan aynısını kopyalamasını istiyorum yardımcı olusanız sevinirim.belki basit bir olaydır ama ben çok yeni olduğum için çözemedim.. Benim aldığım kodlar:

Kod:
Private Sub CommandButton2_Click()
If Not TextBox1 = Empty Then
        For i = 1 To Worksheets.Count
            If Sheets(i).Name = TextBox1 Then
                MyQ = MsgBox("Bu isimde bir müşteri var, değişik bir isim girmelisiniz !")
                TextBox1 = Empty
                TextBox1.SetFocus
                Exit Sub
            End If
        Next
        Set NewSh = Worksheets.Add
        With NewSh
            .Name = TextBox1
            .Columns("A:A").ColumnWidth = 12
            .Columns("B:B").ColumnWidth = 34
            .Columns("C:C").ColumnWidth = 19
            .Columns("D:D").ColumnWidth = 19
        End With
    End If
    Set NewSh = Nothing
    End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn isaatar

Aşağıda bir kod hazırladım sanırım işinizi görecektir. Bu kodda referans sayfanızı kopyalayarak en sona yeni bir sayfa olarak kaydetmektedir. Yeni sayfanın isminide texbox1'e yazılan ismi atamaktadır. Kodda referans sayfa "sayfa1"'dir. Bu sayfanın ismini kendi çalışmanızdaki referans sayfanın ismi ile değiştiriniz.

selamlar


Kod:
Private Sub CommandButton1_Click()
Sheets("Sayfa1").Copy After:=Sheets(Worksheets.Count)
ActiveSheet.Name = TextBox1
End Sub
 
Katılım
5 Aralık 2004
Mesajlar
15
teşekkürler leventm

fakat bir sorunla karşılaştım.Çözemez isem size dönerim.
diyelim sayfa ismi "isa" tekrar buttona basıldığında error veriyor.
referans sayfasının kopyasını yapıyor.textbox boş olduğunda da aynı hatayı veriyor.
ilgin için teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Eğer aynı sayfa ismini iki kere verirseniz yada ismi boş bırakırsanız hata verecektir. Her seferinde farklı bir isim vermeniz gerekir. Eğer hata mesajını almak istemiyorsanız. Koda sizi uyaran bir msgbox ilave edilebilir.
 
X

xxrt

Misafir
Sayın isaatar,
Yukarıdaki Sizin kodlar Belli kriterlere göredir.

Kod:
Private Sub CommandButton1_Click()
Dim i As Integer
If TextBox1.Value = "" Then
Exit Sub
End If
For i = 1 To Worksheets.Count
If Worksheets(i).Name = TextBox1.Value Then
MsgBox "Bu İsimde Bir Sayfa Var.."
Exit Sub
End If
Next i
ThisWorkbook.Sheets("Sayfa1").Copy before:=Sheets("sayfa1")
ActiveSheet.Name = TextBox1.Value
End Sub
Sayfa1 Format olarak alınacak sayfadır.
 
Katılım
25 Ağustos 2004
Mesajlar
131
Excel Vers. ve Dili
Ev -> Office 2016 Tükçe
İş -> Office 2016 Tükçe
Altın Üyelik Bitiş Tarihi
04/01/2022
Ekleme

Hepinize iyi çalışmalar
Konuya ek olarak ; çalıştığın excel dosyasının dışındaki bir excel dosyasının içine ( dosya kapalı ilen) sheet1 i kopyalamanın imkanı varmı acaba?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosya kapalıyken kopyalama yapmak sanırım mümkün değil, çünkü kopyalanan alanın işlem esnasında seçilmesi gerekiyor. Bunun içinde dosya açık olmalı, Buna karşın kapalı bir dosyadan işlev kullanarak veri çekebilirsiniz.
 
Katılım
25 Ağustos 2004
Mesajlar
131
Excel Vers. ve Dili
Ev -> Office 2016 Tükçe
İş -> Office 2016 Tükçe
Altın Üyelik Bitiş Tarihi
04/01/2022
Re:Eklenti

Peki Dosyayı komutla açıp kopyalamayı yapıp kapama imkanımız varmı yoksa açıkken nasıl yapabiliriz
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi bir kodla dosya açabilirsiniz.


[vb:1:8f15d179b3]Sub dosyaaç()
Workbooks.Open Filename:="C:\Belgelerim\kitap1.xls"
End Sub
[/vb:1:8f15d179b3]

Kapatmak içinde aşağıdaki kodu kullanabilirsiniz

[vb:1:8f15d179b3]Sub dosyakapat()
Workbooks("kitap1.xls").Close
End Sub
[/vb:1:8f15d179b3]
 
Katılım
25 Ağustos 2004
Mesajlar
131
Excel Vers. ve Dili
Ev -> Office 2016 Tükçe
İş -> Office 2016 Tükçe
Altın Üyelik Bitiş Tarihi
04/01/2022
teşekkür

saol ama açtıktan sonra nasıl kaydedecez :? onu yazmamışsın onu da yazarsan berhudar olurum :) iyi çalışmalar
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kopyalama için aşağıdaki kodu deneyin.

[vb:1:6329bfb077]Sub kopyala()
Sheets("Sayfa1").Copy After:=Workbooks("Kitap1").Sheets(1)
end sub[/vb:1:6329bfb077]
 
Katılım
25 Ağustos 2004
Mesajlar
131
Excel Vers. ve Dili
Ev -> Office 2016 Tükçe
İş -> Office 2016 Tükçe
Altın Üyelik Bitiş Tarihi
04/01/2022
saolasın verdiğin kodlar çok işime yaradı kolay gelsin
 
Üst