• DİKKAT

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

Toplu Form Yazdırma

Katılım
12 Ocak 2009
Mesajlar
26
Excel Vers. ve Dili
2007, xls, cs, ps
Altın Üyelik Bitiş Tarihi
05-07-2023
Arkadaşlar merhaba,
forum sayesinde baya baya bir şeyler başarmaya başladım. çok çok çok teşekkürlerimi sunuyorum. Formumun bitmesine son aşama kaldı. Bunu nasıl çözeceğim ve/veya nasıl bir yol izleyeceğimi bilemiyorum. Yardımınıza ihtiyacım var.

Dosyayı İndir : https://dosya.co/5nb1sbc9cx4p/Dosya.xlsm.html


VAR OLANLAR;
1-İki sayfalı bir çalışma dosyam var.
2-Data sayfasında verilerim diğer sayfada hazır şablon formum var.
3-Sıra No (kırmızı ile işaretli) bu kısımda data sayfasından liste çekmektedir.
4-Hazır şablon Formumuzdaki bir çok alan DÜŞEYARA ile SıraNo ve Data sayfasına bağlıdır.
5-Sıra no seçilerek ekrana gelen form verilerini [YAZDIR] butonuna basarak tek bir sayfa halinde yazdırabiliyorum.**

İSTENEN;
6-[TÜMÜNÜ YAZDIR] butonuna bastığımızda, DATA sayfasındaki tüm verileri forma uygun şekilde toplu yazdırmalıyız.

Örnek Ekran;
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,065
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kodu deneyin:

PHP:
Sub Düğme4_Tıkla()
    Set s1 = Sheets("FATURALAR")
    Set s2 = Sheets("DATA")
    son = s2.Cells(Rows.Count, "B").End(3).Row
    For i = 2 To son
        If s2.Cells(i, "B") <> "" Then
            s1.[C5] = s2.Cells(i, "A")
            Dim Yazıcı As String
            Yazıcı = Application.Dialogs(xlDialogPrinterSetup).Show
            If Yazıcı = False Then Exit Sub
            Sheets("FATURALAR").PrintOut From:=1, to:=1, Copies:=1, Collate:=True
        End If
    Next
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,065
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Katılım
12 Ocak 2009
Mesajlar
26
Excel Vers. ve Dili
2007, xls, cs, ps
Altın Üyelik Bitiş Tarihi
05-07-2023
Çok teşekkür ediyorum, süpersiniz. Altın Üyeliği alacağım inşallah.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Kod:
Sheets("FATURALAR").PrintOut From:=1, to:=1, Copies:=1, Collate:=True
Sayın @YUSUF44

Bir aralıkta basma amacı ile başlama ve bitiş sayı veya numaralarını ya da tarih aralığını inbox ile vermek için Sayın @werem için hazırladığınız koda nasıl bir ekleme ya da değişiklik yapmak gerekir ?
 
Son düzenleme:

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2021 Excel Tr
Bu şekilde dener misiniz?

Kod:
Sub Düğme4_Tıkla()
    Set s1 = Sheets("FATURALAR")
    Set s2 = Sheets("DATA")
    son = s2.Cells(Rows.Count, "B").End(3).Row
    For i = 2 To son
        If s2.Cells(i, "B") <> "" Then
            s1.[C5] = s2.Cells(i, "A")
  
   Dim Yazıcı As String
       Yazıcı = Application.Dialogs(xlDialogPrinterSetup).Show
   If Yazıcı = False Then
       Else
     msg1 = InputBox("Başlama sayfası")
     msg2 = InputBox("Bitiş sayfası")
     msg3 = InputBox("Kopya sayısı")
    
    Sheets("FATURALAR").PrintOut From:=msg1, To:=msg2, Copies:=msg3, Collate:=True
    End If
End Sub
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın Mahmut Bayram

Sayın @werem için Sayın @YUSUF44 'ün vermiş olduğu kodlar benim de bir konumu çözmeme yardımcı oldu.

Belli aralıkta basım için sizin verdiğiniz öneri kodlarınız için çok teşekkür ederim .Henüz asıl bilgisayarımın başında değilim , ancak ulaşınca deneyerek size geri bildirim vereceğim. Kodları okuduğum kadarı ile mantıklı ve çalışacaktır, denemede sorun çıkarmayacak gibi .
 
Katılım
12 Ocak 2009
Mesajlar
26
Excel Vers. ve Dili
2007, xls, cs, ps
Altın Üyelik Bitiş Tarihi
05-07-2023
Bu şekilde dener misiniz?

Kod:
Sub Düğme4_Tıkla()
    Set s1 = Sheets("FATURALAR")
    Set s2 = Sheets("DATA")
    son = s2.Cells(Rows.Count, "B").End(3).Row
    For i = 2 To son
        If s2.Cells(i, "B") <> "" Then
            s1.[C5] = s2.Cells(i, "A")
 
   Dim Yazıcı As String
       Yazıcı = Application.Dialogs(xlDialogPrinterSetup).Show
   If Yazıcı = False Then
       Else
     msg1 = InputBox("Başlama sayfası")
     msg2 = InputBox("Bitiş sayfası")
     msg3 = InputBox("Kopya sayısı")
   
    Sheets("FATURALAR").PrintOut From:=msg1, To:=msg2, Copies:=msg3, Collate:=True
    End If
End Sub

ÜSTAT Toplu çıktı almak istediğimde 1 tane veriyor. çözemedim bir türlü
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2021 Excel Tr
Diyelim ki 5 sayfalık excel dosyanız var.

Başlangıç sayfasını sorduğunda 1
Bitiş sayfasını sorduğunda 5
Kopya sayısı 2

yazdınız ve yazdır dediniz diyelim.
Bu 5 sayfalık dosyadan 2 nüsha çıktı alırsınız.
 
Üst