• DİKKAT

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

Excelde çalışma sayfalarını ismi ile ayrı ayrı kaydetme

Katılım
9 Nisan 2008
Mesajlar
6
Excel Vers. ve Dili
2003 türkçe
Arkadaşlar basit bir konu olduğunu düşünüyorum ama bir türlü bulamıyorum,
Ben öğrenmek istediğim şu;
içinde çok fazla çalışma sayfası olan (50) bir excel dosmız var,her bir çalışma sayfası kendi ismi ile farlı kaydetmek istiyorum,
nasıl yapabilirim,
Teşekkür Ederim
 
Sitede birçok örnek var.

En basitinden aşağıdaki kod sayfalarınızı ayrı ayrı C: sürücüsünde bulunan dosyalar isimli klasöre kopyalar. Yoksa kopyalama başlamadan önce, C: sürücüsünde dosyalar isimli bir klasör oluşturun.


Kod:
Sub sayfaayir()

Application.ScreenUpdating = False
    
Dim sayfa As Worksheet
Dim dosyayolu As String, dtimestamp As String

dosyayolu = "c:\dosyalar\"
     
For Each sayfa In ThisWorkbook.Worksheets
    sayfa.Copy
    ActiveWorkbook.SaveAs Filename:=dosyayolu & sayfa.Name
        Cells.Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWorkbook.Save
        ActiveWorkbook.Close
Next sayfa
     
Application.ScreenUpdating = True

End Sub
 
Merhaba, Verdiğiniz kod benim de işime çok yaradı teşekkürler. Benim yapmak istediğm bir şey daha var ben bu ayrılan sayfaları csv formatında kaydetmek istiyorum. Muhtemelen kodun içinde uygun bir tanım vardır ama bilemedim. Yardımcı olabilirseniz sevinirim
 
Merhaba, Verdiğiniz kod benim de işime çok yaradı teşekkürler. Benim yapmak istediğm bir şey daha var ben bu ayrılan sayfaları csv formatında kaydetmek istiyorum. Muhtemelen kodun içinde uygun bir tanım vardır ama bilemedim. Yardımcı olabilirseniz sevinirim

Konuyu hortlatıyorum ancak mevcut makro ayrılan sayfaları kendi isimleri ile metin(sekmeyle ayrılmış) (.txt) formatında kaydedecek şekilde güncellenebilir mi? Teşekkür ederim.
 
Sitede birçok örnek var.

En basitinden aşağıdaki kod sayfalarınızı ayrı ayrı C: sürücüsünde bulunan dosyalar isimli klasöre kopyalar. Yoksa kopyalama başlamadan önce, C: sürücüsünde dosyalar isimli bir klasör oluşturun.


Kod:
Sub sayfaayir()

Application.ScreenUpdating = False
   
Dim sayfa As Worksheet
Dim dosyayolu As String, dtimestamp As String

dosyayolu = "c:\dosyalar\"
    
For Each sayfa In ThisWorkbook.Worksheets
    sayfa.Copy
    ActiveWorkbook.SaveAs Filename:=dosyayolu & sayfa.Name
        Cells.Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWorkbook.Save
        ActiveWorkbook.Close
Next sayfa
    
Application.ScreenUpdating = True

End Sub

***
Hocam 2. deneme de sayfa.Copy hata veriyor , bunu nasıl çözebiliriz
 
Merhabalar,
Bu dosya yolunu "c:\dosyalar\" değilde excel hangi klasorün içindeyse oraya kaydetsin olabilir mi. Örneğin" c:\aaa\001" içerisinde makro varsa, excel dosyalarıda c:\aaa\001" bu klasörün içerisinde kaydetsin
 
Merhaba, ThisWorkbook.Path kodu Excel dosyasının bulunduğu konum bilgisini verir.
Paylaşılan kodda dosya yolunu aşağıdaki şekilde kullanabilirsiniz.
Kod:
dosyayolu = ThisWorkbook.Path & "\"
 
Hocam çok teşekkür ederim. Fakat kodlarda hata aldım ben hata aldığım yer;

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Acaba sorun ne olabilir.
 
Merhaba, bu şekilde sorunun kaynağı belli olmaz. Dosya paylaşır mısınız? Eğer sorunuz buradaki konudan farklı ise yeni konu açmanız uygun olur.
 
Geri
Üst