Skip to main content

AccessTr.neT


Aynı Sütundaki Verileri Yazdir Sayfasında A4 Sayfasına Yazdırma

Aynı Sütundaki Verileri Yazdir Sayfasında A4 Sayfasına Yazdırma

Çözüldü #1
Aynı sütundaki verileri yazdir sayfasında A4 sayfasına önce yan yana ve aşağıya doğru macro ile yazdırabilir miyiz?
.rar Aynı Sütundaki Verileri A4 Sayfasına Yan Yana Yazdırma 01.rar (Dosya Boyutu: 253,44 KB | İndirme Sayısı: 9)
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#2
bütün veriler yazdır sayfasında mı olacak?
Cevapla
#3
Evet sayın Berduş bey bütün verileri yazdırma sayfasına aktaracak. Sistemden alınan Listeden (1 Sütundan) Sayfalar oluşturabilmiş olacağız.
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#4
aşağıdaki kodu dener misiniz?
Visual Basic Code
Sub CokluStn()
Dim Kynk As Worksheet
Dim Hdf As Worksheet

Dim SonStr As Long, Str As Long
Dim Carp As Integer
Dim StnSay As integer, Stn As Byte
Dim StrSay As Byte
    
    StnSay = 7 'sütun Sayısı
    StrSay = 50 'satır sayısı
    Carp = 350 

Set Kynk = ThisWorkbook.Worksheets("Veri")
    SonStr = Kynk.Cells(Kynk.Rows.Count, "B").End(xlUp).Row

Set Hdf = ThisWorkbook.Worksheets("Yazdir")

Str = 2
Stn = 2
For x = 2 To SonStr

    Hdf.Cells(Str, Stn) = Kynk.Range("B" & x)
'    If ((x - 1) Mod 50) = 0 Then Stn = ((Stn - 1) Mod 7) + 2
'    Str = ((x - 1) \ 350) * 50 + ((x - 1) Mod 50) + 2
    
    If ((x - 1) Mod StrSay) = 0 Then Stn = ((Stn - 1) Mod StnSay) + 2
    Str = ((x - 1) \ Carp) * StrSay + ((x - 1) Mod StrSay) + 2
Next x

End Sub
Cevapla
#5
Visual Basic Code
Sub CokluStn()
Dim Kynk As Worksheet
Dim Hdf As Worksheet

Dim SonStr As Long, Str As Long
Dim Carp As Integer
Dim StnSay As Integer, Stn As Byte
Dim StrSay As Byte
    
    StnSay = 7 'sütun Sayısı
    StrSay = 50 'satır sayısı
    Carp = StnSay * StrSay

Set Kynk = ThisWorkbook.Worksheets("Veri")
    SonStr = Kynk.Cells(Kynk.Rows.Count, "B").End(xlUp).Row

Set Hdf = ThisWorkbook.Worksheets("Yazdir")
Application.ScreenUpdating = False
Str = 2
Stn = 2
For x = 2 To SonStr

    Hdf.Cells(Str, Stn) = Kynk.Range("B" & x)
'    If ((x - 1) Mod 50) = 0 Then Stn = ((Stn - 1) Mod 7) + 2
'    Str = ((x - 1) \ 350) * 50 + ((x - 1) Mod 50) + 2
    
    If ((x - 1) Mod StrSay) = 0 Then Stn = ((Stn - 1) Mod StnSay) + 2
    Str = ((x - 1) \ Carp) * StrSay + ((x - 1) Mod StrSay) + 2
Next x
Application.ScreenUpdating = True
MsgBox ""
End Sub

2 kod aynı aslıda birinde screenupdate =false kullandım ekran güncellemesini durdurmak için o kadar
Not: aslında
StnSay = 7 'sütun Sayısı
StrSay = 50 'satır sayısı
Carp = StnSay * StrSay
kısımlarına gerek yoktu ilerde siz satır yada sütun sayısını değiştirmek istersiniz diye eklendi yoksa doğrudan
Visual Basic Code
    If ((x - 1) Mod 50) = 0 Then Stn = ((Stn - 1) Mod 7) + 2
    Str = ((x - 1) \ 350) * 50 + ((x - 1) Mod 50) + 2
şeklinde de kullanılabilirdi
Son Düzenleme: 28/08/2021, 00:12, Düzenleyen: berduş.
Cevapla
#6
Sayın berduş bey birinci kod çalışmadı hata verdi. 2. kod çalıştı. Acaba yazdırılacak sayfa sayısını manuel olarak bakmak baya bir zaman alıyor. Acaba yazdırılacak dolu kaç sayfa olduğunu nasıl anlarız. Önizlemeye alıp 150. sayfa olmadı 161.sayfa gibi bakıyorum.
.rar Macroda Hata 01.rar (Dosya Boyutu: 68,54 KB | İndirme Sayısı: 1)
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 28/08/2021, 00:18, Düzenleyen: yyhy. (Sebep: imla hatası)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da