Excel Toplu Yazdırma

Katılım
14 Mart 2014
Mesajlar
20
Excel Vers. ve Dili
2007 Türkçe
Excelde siparişleri topladığımız bir dosya var. Oraya günlük siparişleri ekliyor ve sonradan iş yaptığımız firmalara göre ayırıyorum. Bazen günde 5-10 firma olsa da genellikle 60-70 firma arası değişiyor. Bu firmaları filtreden tek tek seçip yazdırması çok uzun sürüyor.

Bu yazdırma işlemini toplu olarak yapacak bir makro ihtiyacım var. Yardımcı olursanız bana büyük bir zaman kazandırırsınız.

Ekli dosya örneğinde olduğu gibi A2'deki filtreden tek tek seçip yazdırıyoruz. Bu satırlar 500'ü buluyor fakat firma sayıları belli bir sınırda kalıyor.

http://s8.dosya.tc/server2/f4m91x/P__L__A__N.xlsx.html


Daha önceden "yeni başlayanlar" bölümüne ekledim fakat bir sonuç alamadım.
 
Katılım
8 Mart 2016
Mesajlar
57
Excel Vers. ve Dili
Microsoft 365
Excelde siparişleri topladığımız bir dosya var. Oraya günlük siparişleri ekliyor ve sonradan iş yaptığımız firmalara göre ayırıyorum. Bazen günde 5-10 firma olsa da genellikle 60-70 firma arası değişiyor. Bu firmaları filtreden tek tek seçip yazdırması çok uzun sürüyor.

Bu yazdırma işlemini toplu olarak yapacak bir makro ihtiyacım var. Yardımcı olursanız bana büyük bir zaman kazandırırsınız.

Ekli dosya örneğinde olduğu gibi A2'deki filtreden tek tek seçip yazdırıyoruz. Bu satırlar 500'ü buluyor fakat firma sayıları belli bir sınırda kalıyor.

http://s8.dosya.tc/server2/f4m91x/P__L__A__N.xlsx.html


Daha önceden "yeni başlayanlar" bölümüne ekledim fakat bir sonuç alamadım.
Merhabalar,

Tuttuğunuz dosyayı inceledim, yapmak istediğiniz işlemi pivot tablolar ile çok kolaylıkla yapabilirsiniz.

Sipariş Tarihi/Şube/Müşteri/Adet/Renk vs. şeklinde bir sütun düzeni ile tablonuzu oluşturup (farklı renk için, ikinci satır olacak, herşey aynı, renk kodu farklı)

Bu şekilde aşağı doğru uzayan uzun bir liste gibi olacak tablonuz,
Bu tabloyu "Tablo" olarak tanımlayabilirsiniz
Bu "Tablo" verilerilerini okutarak pivot tablo (özet tablo) oluşturup, bu özet tablo formatında, ister tarihe göre
(bir upuzun tablodan sizin dosyadaki gibi her gün için bir sayfa olacak şekilde)
(veya sipariş alana veya şubesine göre ayrı ayrı sayfalar olacak şekilde)
Ayrı sayfalar oluşturabilirsiniz ve sayfaları çoklu seçerek istediğiniz sayfaları (veya sayı çok olduğunda az sayıda istenmeyeni saklayıp, kalanların tamamını) topluca çıktı alabilirsiniz.

Bu şekilde bir database mantığı ile sürdürdüğünüzde, geriye doğru tüm kayıtları da tek yerde tutmuş olursunuz.

Pivot tablolardan ayrı sayfalar oluşturmak ile ilgili bir makale ve örnek dosyaya aşağıdaki linkten ulaşabilirsiniz:

https://exceluygulamalari.wordpress.com/2016/03/14/pivot-tablo-ile-ayri-sayfalarda-yazdirma/

Umarım faydalı bulursunuz.
Saygılarımla.
 
Katılım
14 Mart 2014
Mesajlar
20
Excel Vers. ve Dili
2007 Türkçe
Merhabalar,

Tuttuğunuz dosyayı inceledim, yapmak istediğiniz işlemi pivot tablolar ile çok kolaylıkla yapabilirsiniz.

Sipariş Tarihi/Şube/Müşteri/Adet/Renk vs. şeklinde bir sütun düzeni ile tablonuzu oluşturup (farklı renk için, ikinci satır olacak, herşey aynı, renk kodu farklı)

Bu şekilde aşağı doğru uzayan uzun bir liste gibi olacak tablonuz,
Bu tabloyu "Tablo" olarak tanımlayabilirsiniz
Bu "Tablo" verilerilerini okutarak pivot tablo (özet tablo) oluşturup, bu özet tablo formatında, ister tarihe göre
(bir upuzun tablodan sizin dosyadaki gibi her gün için bir sayfa olacak şekilde)
(veya sipariş alana veya şubesine göre ayrı ayrı sayfalar olacak şekilde)
Ayrı sayfalar oluşturabilirsiniz ve sayfaları çoklu seçerek istediğiniz sayfaları (veya sayı çok olduğunda az sayıda istenmeyeni saklayıp, kalanların tamamını) topluca çıktı alabilirsiniz.

Bu şekilde bir database mantığı ile sürdürdüğünüzde, geriye doğru tüm kayıtları da tek yerde tutmuş olursunuz.

Pivot tablolardan ayrı sayfalar oluşturmak ile ilgili bir makale ve örnek dosyaya aşağıdaki linkten ulaşabilirsiniz:

https://exceluygulamalari.wordpress.com/2016/03/14/pivot-tablo-ile-ayri-sayfalarda-yazdirma/

Umarım faydalı bulursunuz.
Saygılarımla.

İlginiz için teşekkür ederim. Zaten eklemiş olduğum dosyada verileri günlük olarak takip ediyorum. Özet tablo çok karmaşık orta seviye bir bilgi gerektiren bir mesele.

Dosyayı sadece ben değil basit bilgisayar bilgisi olanlar da kullanacağı için basit bir kullanım gerekiyor.

Bana sadece lazım olan aynı gün içinde farklı sayfalara bölmeden çıktı almak. Bütün siparişleri tuttuğumuz büyük bir dosyamız mevcut. Kullandığımız dosya günlük sevk hazırlık dosyamız.

Mevcut bütünlüğü koruyarak bir çözüm bulmaya çalışıyorum.
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Bu şekilde dener mi siniz?

Sayfa 1 e göre çalışmaktadır.
1000 firma için çalışır.
Dim firmalar(1000) As String

10000 satır için çalışır.
Range("A3:A10000").Select


Kod:
Dim firmalar(1000) As String
Dim firmasayisi As Integer

Sub menu()

  Call firmalari_al
  Call yazdir
End Sub

Sub yazdir()
   sonsatir = Cells(Rows.Count, "A").End(3).Row
   sec = "$A$2:$K$" & sonsatir
   ActiveSheet.Range(sec).AutoFilter Field:=1
   For i = 1 To firmasayisi
       ActiveSheet.Range(sec).AutoFilter Field:=1, Criteria1:=firmalar(i)
       ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
       'Application.Wait (Now + TimeValue("00:00:05"))
   Next i
End Sub


Sub firmalari_al()
    Sheets("1").Select
    sonsatir = Cells(Rows.Count, "A").End(3).Row
    sec = "$A$2:$K$" & sonsatir
    ActiveSheet.Range(sec).AutoFilter Field:=1
   
    Range("A3:A10000").Select
    Selection.Copy

    Range("ZZ1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    
    ActiveSheet.Range("ZZ:ZZ").RemoveDuplicates Columns:=1, Header:=xlNo
    Range("A10").Select
    
    sonsatir = Cells(Rows.Count, "ZZ").End(3).Row
    For i = 1 To sonsatir
       firmalar(i) = Cells(i, "ZZ").Value
    Next i
    firmasayisi = i - 1
    Columns("ZZ").Delete
    
End Sub
 
Katılım
14 Mart 2014
Mesajlar
20
Excel Vers. ve Dili
2007 Türkçe
Örnek bir dosyada denemesini yaptım. Oldu. Yarın asıl denemesini yapacağım. Bir sorun sorun çıkacağını sanmıyorum. Farklı sayfalarda kullanmak için sayfa numarasını değiştiriyorum. Firmaları Al ve Yazdır diyerek işlemi tamamlıyorum.

Yalnız makroyu kullandıktan sonra çalışma sayfasındaki sıralamayı çok karıştırıyor. Onun içinde işlem yapmadan önce kayıt edip kapat-aç yapıyorum. sorun halloluyor.

Çok teşekkür ederim. Ellerinize sağlık..
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Kodlarda sıralama ile ilgili bir işlem yok.

Sayfa sabit değil ise Sheets("1").Select bu kodu silin.
 
Katılım
8 Şubat 2006
Mesajlar
2
Bir sorum olacaktı. cevaplarsanız çok sevinirim. D13 hücresi ana hücremiz olacak. K13=10 ve L13=15 hücrelerimiz var ayrıca. K13 hücresindeki sayıyı D13 hücresine kopyalayacak ve her seferinde 1 arttırıp yazıcıdan her arrtıdıktan sonra 1 tane çıktı alacak taki L13 teki sayıya ulaşana kadar (L13teki 15inde çıktısı alınacak)
 
Son düzenleme:
Katılım
8 Şubat 2006
Mesajlar
2
yazdırma alanıda aj28 olacaktı Ayrıca bunu bir butona tıkladığımda tek seferde topluca yazdırmasını istiyorum
 
Üst