Merhaba,
Ana tablomu yaptığım bir excel sayfam var. Makro ile bu sayfayı çoğaltmak istiyorum.
Çoğaltılan sayfaların adlarını da benim belirlediğim hücrelerden alacak. Yani ben A1 hücresine 01.08.2015'ten başlayıp A31 hücresine kadar 31.08.2015 olacak şekilde alt alta yazıyorum. Makro çalıştığında bu aralıktaki kadar sayfa açıp, sayfa adlarını da buradan alacak. Bunu yapan bir makro buldum ama sayfa çoğaltma değil boş sayfa ekleme yapıyor.
Sayfa çoğaltma kodu da buldum ama o da sayfa adlarını 1,2,3,4,.. diye adlandırıyor.
Sadece sayfa ekleme kodunu "Add" yerine "Copy" olarak değiştirdiğim zaman hata veriyor. Nasıl yapacağımı bir türlü bulamadım. Yardımcı olursanız çok sevinirim. Kullandığım kodlar aşağıdaki gibidir.
Sayfa ekleme kodum bu. Benim yazdığım hücre aralığındaki verilere göre sayfaları adlandırarak ekliyor ama boş sayfa ekliyor.
Bu kod ile sayfanın kopyasını çoğaltabiliyorum ama bu da 1,2,3,4... diye adlandırıyor sayfa adlarını...
Üstteki kodu boş değil de sayfayı kopyalayacak şekilde nasıl değiştirebilirim...
Ana tablomu yaptığım bir excel sayfam var. Makro ile bu sayfayı çoğaltmak istiyorum.
Çoğaltılan sayfaların adlarını da benim belirlediğim hücrelerden alacak. Yani ben A1 hücresine 01.08.2015'ten başlayıp A31 hücresine kadar 31.08.2015 olacak şekilde alt alta yazıyorum. Makro çalıştığında bu aralıktaki kadar sayfa açıp, sayfa adlarını da buradan alacak. Bunu yapan bir makro buldum ama sayfa çoğaltma değil boş sayfa ekleme yapıyor.
Sayfa çoğaltma kodu da buldum ama o da sayfa adlarını 1,2,3,4,.. diye adlandırıyor.
Sadece sayfa ekleme kodunu "Add" yerine "Copy" olarak değiştirdiğim zaman hata veriyor. Nasıl yapacağımı bir türlü bulamadım. Yardımcı olursanız çok sevinirim. Kullandığım kodlar aşağıdaki gibidir.
Sayfa ekleme kodum bu. Benim yazdığım hücre aralığındaki verilere göre sayfaları adlandırarak ekliyor ama boş sayfa ekliyor.
Kod:
Sub CreateWorksheets(Names_Of_Sheets As Range)
Dim No_Of_Sheets_to_be_Added As Integer
Dim Sheet_Name As String
Dim i As Integer
No_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.Count
For i = 1 To No_Of_Sheets_to_be_Added
Sheet_Name = Names_Of_Sheets.Cells(i, 1).Value
If (Sheet_Exists(Sheet_Name) = False) And (Sheet_Name <> "") Then
Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = Sheet_Name
End If
Next i
End Sub
Sub Düğme3_Tıklat()
Call CreateWorksheets(Sheets("Ana").Range("X1:X31"))
End Sub
Bu kod ile sayfanın kopyasını çoğaltabiliyorum ama bu da 1,2,3,4... diye adlandırıyor sayfa adlarını...
Kod:
Sub cogalt()
For a = 1 To 31
Sheets("Ana").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = a
Next
End Sub
Üstteki kodu boş değil de sayfayı kopyalayacak şekilde nasıl değiştirebilirim...
