sealand
Thành viên gạo cội
- Tham gia
- 16/5/08
- Bài viết
- 4,883
- Được thích
- 7,688
- Giới tính
- Nam
- Nghề nghiệp
- Kế Toán
...Nên em muốn thiết lập căn lề chuyển sang in bằng giấy A5 cho nó có thứ tự từ A đến z không bị lộn xộn, giúp việc phát HĐ cho từng nhà cũng dễ dàng, mà em không sao căn được như ý muốn, Anh giúp em với!
Bạn sửa Code như sau là được (Bạn lưu ý sửa bổ xung đoạn code màu xanh đậm. Không biết có phải do máy in không chứ máy của mình định giấy A5 thì báo lỗi đành thiết lập giấy B5, bạn thiết lập thử bằng A5 xem sao. Chiều in bạn vào PageSetup xác định cũng được):
Mã:
Public Sub in_bg()
Dim tu, den As Integer
Dim path As String
path = ThisWorkbook.path
Dim pic As Shape
If Sheet6.[X12] = "In tat ca" Then
Sheet6.[X14] = 1
Sheet6.[X15] = Application.WorksheetFunction.Max(Sheet6.Range("A3:A5000"))
End If
'tu = Sheet1.Cells(2, 13)
tu = Sheet6.[X14]
den = Sheet6.[X15]
[B][COLOR=Blue]With Sheet5
.Range("A:AQ").Clear
.PageSetup.PaperSize = xlPaperB5
.ResetAllPageBreaks
For Each pic In .Shapes
pic.Delete
Next
End With[/COLOR][/B]
Application.ScreenUpdating = False
'Tao trang in
k = 1
For i = tu To den
Sheet6.Cells(8, 24) = i
If Sheet4.Range("Z20") > 0 Then
Sheet4.Rows("1:27").Copy
Sheet5.Cells(k, 1).PasteSpecial Paste:=xlPasteValues
Sheet5.Cells(k, 1).PasteSpecial Paste:=xlPasteFormats
Sheet5.Pictures.Insert (path & "\BT1.bmp")
Sheet5.Range("F" & k + 9 & ":F" & k + 19).Merge
k = k + 28
[B][COLOR=Blue]Sheet5.HPageBreaks.Add Before:=Cells(k, 1)[/COLOR][/B]
End If
Next
For Each pic In Sheet5.Shapes
pic.ScaleWidth 0.79, msoFalse, msoScaleFromTopLeft
pic.ScaleHeight 0.7, msoFalse, msoScaleFromTopLeft
pic.IncrementLeft 140.25
'pic.IncrementTop 30#
Next
Application.ScreenUpdating = True
Sheet5.Activate
Application.CutCopyMode = False
Sheet5.Range("I1").Select
End Sub
Lần chỉnh sửa cuối: