Buton ile yeni sayfa eklemek

Katılım
22 Haziran 2005
Mesajlar
120
Sayfaya eklediğim bir buton ile çalışma kitabında mevcut sayfanın, farklı adlandırılmış bir kopyası nasıl eklenir. Sorunun ayrıntıları dosya içinde.. 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
Aşağıdaki kodu deneyin. Sorunuzdaki açıklığa kavuşturulması gereken bir nokta sözkonusudur; yeni eklenen sayfanın E3 hücresindeki değer nereden alınacaktır. Bu değeri sayfa oluşturduktan sonra eklerseniz, bu değeri "toptan" sayfasına yazdırmak için ikinci bir makro gerekecektir.

[vb:1:22e4057399]Private Sub CommandButton1_Click()
On Error Resume Next
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = [ana!b2]
Sheets(Sheets.Count).[d3] = ActiveSheet.Name
Sheets("ana").Select
sonsat = [a65536].End(xlUp).Row + 1
Sheets("ana").Range("a" & sonsat).Hyperlinks.Add Anchor:=Range("a" & sonsat), Address:="", SubAddress:=Sheets(Sheets.Count).Name & "!A1", TextToDisplay:=Sheets(Sheets.Count).Name
Sheets("toptan").[a65536].End(xlUp).Offset(1, 0) = Sheets(Sheets.Count).[d3]
Sheets("toptan").[a65536].End(xlUp).Offset(0, 1) = Sheets(Sheets.Count).[e3]
End Sub[/vb:1:22e4057399]
 
Katılım
22 Haziran 2005
Mesajlar
120
Teşekkürler Sayın leventm.
Tam olarak istediğim bu Ama dediğiniz ekleme yapılması lazım. Yeni eklenen sayfalardaki D3 ve E3 hücrelerindeki değerler o sayfalardaki bazı toplamların sonuç hücresidir. Dolayısıyla bu değerlerin toptan sayfasına alınması için kod eklemeye gerek var.
Onu da eklerseniz çok iyi olur
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
Toptan sayfasında oluşturacağınız bir butona aşağıdaki kodu bağlayarak çalıştırırsanız, gerekli verileri listeleyecektir.

[vb:1:706c8eb82d]Sub verial()
For a = 3 To Sheets.Count
Sheets("toptan").Cells(a - 2, 1) = Sheets(a).[d3]
Sheets("toptan").Cells(a - 2, 2) = Sheets(a).[e3]
Next
End Sub[/vb:1:706c8eb82d]

Yukarıdaki gibi ayrı bir kod çalıştırınca, ilk verdiğim koddaki aşağıda görülen satırları silebilirsiniz.

[vb:1:706c8eb82d]Sheets("toptan").[a65536].End(xlUp).Offset(1, 0) = Sheets(Sheets.Count).[d3]
Sheets("toptan").[a65536].End(xlUp).Offset(0, 1) = Sheets(Sheets.Count).[e3]
[/vb:1:706c8eb82d]
 
Katılım
22 Haziran 2005
Mesajlar
120
Sub verial()
For a = 3 To Sheets.Count
Sheets("toptan").Cells(a - 2, 1) = Sheets(a).[d3]
Sheets("toptan").Cells(a - 2, 2) = Sheets(a).[e3]
Next
End Sub

Son verdiğiniz kod çok işime yaradı fakat tek sorun, listelemeye A1'den başlaması. Bunu A7 yada A8'den nasıl başlatabiliriz.
 

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
7 den başlaması için .cells(a+4,1)=.....

8 den başlaması için .cells(a+5,1)=..... şeklinde hücre referanslarını değiştirin.
 
Üst