• DİKKAT

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

Belirli sheetleri başka bir excel dosyasına kopyalama

Katılım
15 Şubat 2013
Mesajlar
3
Excel Vers. ve Dili
2010
A excel dosyasındaki makro uygulamasından oluştur sekmesini tıklayıp B excel dosyasını seçtiğimde, B excel dosyasındaki sablon_x , sablon_y , not , deneme sheetleri dışında geriye kalan tüm sheetleri C isminde boş bir excel dosyası oluşturup,C ismindeki excel dosyasına kopyalamasını istiyorum.İşlem sonunda B ve C excel dosyaları kapatılıp sadece A excel dosyası açık kalacaktır.

Ekte B excel dosyasını gönderdim,bu konuda yardımcı olursanız memnun olurum.İyi çalışmalar.

Not: B excel dosyasındaki kırmızı renkle oluşturulan sheetler makro ile oluşturulduğundan adetleri değişkenlik gösterebilir.Örneğin 50fiyat ya da 100fiyat sheetine kadar gidebilir, sheetlerin kaç adet olduğu belli olmadığından dolayı varolan sablon_x , sablon_y , not , deneme sheetleri dışında geriye kalan sheetleri kopyalatmam daha doğru olur diye düşündüm.
 

Ekli dosyalar

  • B.xlsx
    B.xlsx
    13.6 KB · Görüntüleme: 13
Merhaba
A excel dosyasında boş bir module oluşturun ve bo kodu kopyalayıp deneyin.
Kod:
Option Explicit
Sub dosya_oluştur()
Dim DSY_SYSTM As Object, DSY As String, KLS As String
Dim XCL As Application, KTP As Workbook
Application.ScreenUpdating = False
Set DSY_SYSTM = CreateObject("Scripting.FileSystemObject")
DSY = ThisWorkbook.Path & "\B.xlsx"
KLS = ThisWorkbook.Path & "\C.xlsx"
DSY_SYSTM.copyfile DSY, KLS
Set XCL = CreateObject("Excel.Application")
XCL.Visible = False
Set KTP = XCL.Workbooks.Open(KLS)
Application.DisplayAlerts = False
KTP.Sheets("sablon_x").Delete
KTP.Sheets("sablon_y").Delete
KTP.Sheets("not").Delete
KTP.Sheets("deneme").Delete
Application.DisplayAlerts = True
KTP.Save: KTP.Close: XCL.Quit
Application.ScreenUpdating = True
End Sub
Not : 1 Dosya adı verdiğiniz için kod ikinci çalışmasında dosya olduğu için hata verecektir.
 
Tesekkur ederim denedim calisiyor yalniz formuldeki xlsx uzantisini xls yaptigimda excel kilitleniyor, ayrica bu kodta B ismi sabit ve ayni klasorde olmasi gerekiyor ama B ismi ve yeri degisken oldugu icin menu gibi bir secim ekrani yapabilirmiyiz? C excel dosyasini kaydedecegi yeri belirtebilirmiyiz? Son olarak B excel dosyasinda makro formulleri oldugu icin farkli kaydet islemiyle degilde sadece sheetlerin kopyalanmasi mumkun mu?
 
Son düzenleme:
Tesekkur ederim denedim calisiyor yalniz bu kodta B ismi sabit ve ayni klasorde olmasi gerekiyor ama B ismi ve yeri degisken oldugu icin menu gibi bir secim ekrani yapabilirmiyiz? Ayrica C excel dosyasini kaydedecegi yeri belirtebilirmiyiz?

Sizce bunu yapmalımıyım. Çünkü bunların hepsini baştan söyleyip kodu öyle yazdırmanız gerekirdi.
Şimdi ne yapayım acaba kararsız kaldım açıkcası.
 
Sizce bunu yapmalımıyım. Çünkü bunların hepsini baştan söyleyip kodu öyle yazdırmanız gerekirdi.
Şimdi ne yapayım acaba kararsız kaldım açıkcası.

Haklisiniz,eksik yazmisim, artik yazdiginiz kod ustunden bir cozum arayacam,tekrardan tesekkurler
 
Geri
Üst