• DİKKAT

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

Makro ile seçilen klasördeki belirli çalışma kitablarının kopyalanması

  • Konbuyu başlatan Konbuyu başlatan alfaoz
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Ağustos 2010
Mesajlar
126
Excel Vers. ve Dili
office excel 2003/2007
arkadaşlar merhaba,

belki başlık karmaşık olmuş olabilir kusura bakmayın. aslında bi makro hazırlamaya çalıştım. amacım makro ile klasör seçmek ve seçtiğim klasördeki isimleri belirli çalışma kitaplarının açılıp çalışmakta olduğum çalışma kitabında belirlediğim sayfalara kopyalanmasını sağlamak. ama bi türlü beceremedim. aslında değişken olan klasör çalışma kitabı isimleri ve yapıştıracağım kitapdaki sayfa isimleri sabit. Yardımcı olursanız sevinirim. kod bu;
Kod:
Sub dosya_acma()

 Dim Klasör As Object, Dizin As String, DosyaAdı As Variant
    Set Klasör = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir Klasör seçin !", 1)
   [COLOR="Red"] Workbooks.Open Filename:= _
        Klasör & "\kaynak.xlsx"[/COLOR] 'buraya ne yazmam gerekiyor. Bu yazılanı ben uydurdum diyebilirim.
    Cells.Select
    Selection.Copy
    Windows("deneme.xls").Activate
    Sheets("Mevcut Keşif").Select
    Cells.Select
    ActiveSheet.Paste
    Windows("kaynak.xlsx").Activate
    ActiveWindow.Close
End Sub
 
Son düzenleme:
Kod:
Sub SayfaKaydet()
Application.ScreenUpdating = False
 'Dim Klasör As Object, Dizin As String, DosyaAdı As Variant
    Set Klasör = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir Klasör seçin !", 1)
 
    Dim sayfa As Worksheet
    For Each sayfa In Worksheets
        sayfa.Copy
        ActiveWorkbook.SaveAs Klasör.Self.Path & "\" & sayfa.Name & ".xlsx"
        ActiveWorkbook.Close False
    Next sayfa
    Application.Quit
    Application.ScreenUpdating = True
End Sub
bir ricam daha olacak bu makroda çalışma kitabındaki tüm sayfaları çalışma kitabı olarak kaydediyor. sadece seçtiğim sayfaları kitaba dönüştürmek mümkün mü?
 
yardımcı olabilecek var mı? Eksik bir bilgi varsa tamamlayabilirim...
 
yardımcı olabilecek var mı? Eksik bir bilgi varsa tamamlayabilirim...

Selam...

Kod olayına daha yeni başladım...

Senin kodlara baktım. Şöyle bir bölüm var:

Dim sayfa As Worksheet
For Each sayfa In Worksheets
sayfa.Copy

Oradaki "for each" her satfayı otomatik kaydediyor. Onun yerine bir şey yazman gerekir diye düşünüyorum aktif sayfayı tek başına kaydetmek için.

Denemedim ama orası çözülürse hallolur gibi...

Saygılar...
 
evet tam da sorun orada. aslında halit3 üstadın bir çalışması var buna benzer ancak o sadece bir sayfayı aktarıyor. belkide şöyle sormalıyım halit3 üstadın yazdığı programdan faydalanarak sayfa adı tanımlayarak çözdüm ancak bu seferde if döngüsüne girdim ve kasmaya başladı. şimdi halit3 beyin örneğinde sayfa_adı = "sayfa3" demiş ben bunu sayfa_adı birden çok sayfayı kapsayacak şekilde nasıl yazarım. mesela sayfa_adı= "sayfa3" "sayfa5" "özetler" "ana kapak" gibi olsun.
 
aradığım komutu mantık silsilesi ve deneme yanılma yöntemiyle buldum. Yardımcı olmayan herkese teşekkürler :))
 
Geri
Üst