• DİKKAT

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

baskı önizlemeyi ayarlama

spacebar

Altın Üye
Katılım
2 Temmuz 2009
Mesajlar
562
Excel Vers. ve Dili
office 2019 Türkçe
arkadaşlar merhaba.
bir formum var verinin girişine göre değişik uzunlukta olabiliyor. yani 2 sayfada olabiliyor 5 sayfada olabiliyor. ve bu form tablolar içeriyor. yazdırırken (görselliği bozmadan) tabloları bölmeden yazdırmak istiyorum. bunu otomatik ayarlamak istiyorum. formu bir şekilde formüle ettim. ben bu satırlara hangi sayfada yazılması gereken bir numara verdim. yani AB sutununda 111111122222223333334444444444444 gibi rakamlar var. . yani 1 ler birinci sayfada 2 ler ikinci sayfada yazdırılacak. burada yazan rakamlara göre sayfa sonunu ayarlayabilirmiyiz. yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
 
rakamların A sütununda olduğu varsayılmıştır.

Aşağıdaki şekilde deneyiniz.

Kod:
Sub Menu()
  Call tek_Sayfa
  Call sayfa_ayir
End Sub

Sub sayfa_ayir()
  ActiveSheet.ResetAllPageBreaks
  sonsatir = Cells(Rows.Count, "AB").End(3).Row
  For i = 1 To sonsatir
    
    If Not Cells.Rows(i).EntireRow.Hidden Then
       yeni = Cells(i, "AB").Value
       If yeni <> eski And i <> 1 Then
          Cells(i, 1).Select
          ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell
       End If
      eski = yeni
    End If
  Next i
End Sub


Sub tek_Sayfa()

    ActiveWindow.View = xlPageBreakPreview
    Cells.Select
    Range("A1").Activate
    Cells.EntireColumn.AutoFit
    Range("D1").Select
    
    
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = ""
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.75)
        .RightMargin = Application.InchesToPoints(0.75)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(1)
        .HeaderMargin = Application.InchesToPoints(0.5)
        .FooterMargin = Application.InchesToPoints(0.5)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 0
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = False
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = ""
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.748031496062992)
        .RightMargin = Application.InchesToPoints(1)
        .TopMargin = Application.InchesToPoints(0.984251968503937)
        .BottomMargin = Application.InchesToPoints(0.590551181102362)
        .HeaderMargin = Application.InchesToPoints(0.511811023622047)
        .FooterMargin = Application.InchesToPoints(0.511811023622047)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = False
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = False
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
  
End Sub
 
Son düzenleme:
Üstad yine hızır gibi yetiştin. Şu An bilgisayarım yanımda değil bakamıyorum. Bir sorun olursa yarın yazarım. Çok teşekkür ederim emeğinize sağlık.
 
üstad merhaba. bir kaç yerde sorun verdi. birincisi 49 satırla sınırlıyor. örnek 11111 yazan satırların sayısı 56 ise 49 satırı bir sayfa, diğer 7 satırı bir sayfa yapıyor.
bir başka sorun form değişiyordu. dolayısıyla verinin büyüklüğüne göre tablolardaki satır sayısı değişiyor. burada boş satırlar makroyla filtreleniyordu. işte bu boş satırlarıda 49 sayısına dahil ediyor. diğer bir sorunda verilerim A ve R sutunlarında. burada da sayfayı bölüyor. ben örnek dosyamı ekte gönderiyorum. yardımcı olacaklara teşekkür ederim....
 

Ekli dosyalar

üstad merhaba. bir kaç yerde sorun verdi. birincisi 49 satırla sınırlıyor. örnek 11111 yazan satırların sayısı 56 ise 49 satırı bir sayfa, diğer 7 satırı bir sayfa yapıyor.
bir başka sorun form değişiyordu. dolayısıyla verinin büyüklüğüne göre tablolardaki satır sayısı değişiyor. burada boş satırlar makroyla filtreleniyordu. işte bu boş satırlarıda 49 sayısına dahil ediyor. diğer bir sorunda verilerim A ve R sutunlarında. burada da sayfayı bölüyor. ben örnek dosyamı ekte gönderiyorum. yardımcı olacaklara teşekkür ederim....

Dosyayı dosya.tc ye de yükler mi siniz?
 
İlk mesajımda kodlar güncellendi.

Gizli satırlarda 1,2,3 olmadığı için kodlar o sayfayı bölüyordu.
Gizli satırları kontrol etmemesi sağlandı.

x,y,z ve sonraki dolu kolonları gizleyiniz.

Kontrol ediniz.
 
Üstad 50 satır ile sınırlandırıyor. 11111 den 57 satır var bunun 50 satırını bir sayfa 7 satırını bir sayfa yapıyor.
 
üstad sizin çalışmayı denedim bir sorun yok. nerede hata yaptığımı araştıracağım. çok teşekkür ederim. emeğinize sağlık.
 
üstad sizin çalışmayı denedim bir sorun yok. nerede hata yaptığımı araştıracağım. çok teşekkür ederim. emeğinize sağlık.


aşağı doğru giden 11122333 lerin arasında boşlukyada karakter birşeyler varmı ona bakın.
50. satırı özellikle kontrol edin.
 
Geri
Üst