• 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
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;
CIKTz1.png
 
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
 
Çok teşekkür ediyorum, süpersiniz. Altın Üyeliği alacağım inşallah.
 
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:
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
 
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 .
 
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ü
 
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.
 
Geri
Üst