Aynı sütundaki verileri yazdir sayfasında A4 sayfasına önce yan yana ve aşağıya doğru macro ile yazdırabilir miyiz?
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
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
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
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