Đánh trang tự động trong Excel

Liên hệ QC
Code thế này bạn! Bỏ cái trangdau đi là được!
PHP:
Sub DSTrang()
Dim i As Byte, j As Byte
Dim cp As Byte
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Worksheets
        Sh.Activate
        With ActiveSheet.PageSetup
                '.LeftFooter = ""
                .CenterFooter = "&P"
                '.RightFooter = ""
                .FirstPageNumber = 1
                '.PrintErrors = xlPrintErrorsDisplayed
        End With
Next
MsgBox "OK"
Application.ScreenUpdating = True
End Sub
Vâng, E cám ơn Anh nhiều!
Bài đã được tự động gộp:

Code thế này bạn! Bỏ cái trangdau đi là được!
PHP:
Sub DSTrang()
Dim i As Byte, j As Byte
Dim cp As Byte
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Worksheets
        Sh.Activate
        With ActiveSheet.PageSetup
                '.LeftFooter = ""
                .CenterFooter = "&P"
                '.RightFooter = ""
                .FirstPageNumber = 1
                '.PrintErrors = xlPrintErrorsDisplayed
        End With
Next
MsgBox "OK"
Application.ScreenUpdating = True
End Sub
A cho e hỏi thêm chút bỏ trang đầu đi có nghĩa là trang đầu không đánh số Trang hay sao ạ!
 
A cho e hỏi thêm chút bỏ trang đầu đi có nghĩa là trang đầu không đánh số Trang hay sao ạ!
Bạn thử code này xem sao.
Mã:
Sub DSTrang()
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Worksheets
        Sh.Activate
        With ActiveSheet.PageSetup
                .CenterFooter = "&P"
                .FirstPageNumber = 0
                .DifferentFirstPageHeaderFooter = True
        End With
Next
MsgBox "OK"
Application.ScreenUpdating = True
End Sub
 
Bạn thử code này xem sao.
Mã:
Sub DSTrang()
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Worksheets
        Sh.Activate
        With ActiveSheet.PageSetup
                .CenterFooter = "&P"
                .FirstPageNumber = 0
                .DifferentFirstPageHeaderFooter = True
        End With
Next
MsgBox "OK"
Application.ScreenUpdating = True
End Sub
Trong thực tế thì không có trang 0, bác nhỉ?
 
A cho e hỏi thêm chút bỏ trang đầu đi có nghĩa là trang đầu không đánh số Trang hay sao ạ!

trangdau là 1 biến trong code để xác định giá trị của trang đầu tiên. Tôi nói bỏ trangdau là bỏ cái biến này đi, và .FirstPageNumber được mặc định gán giá trị là 1, nghĩa là trong đoạn code .FirstPageNumber=1 thay vì .FirstPageNumber=trangdau. Khi đó các sheet được đánh số trang lại từ đầu, và bắt đầu bằng số 1. Bạn để ý đoạn code gốc cuối vòng lặp for có đoạn trangdau = trangdau + ExecuteExcel4Macro("Get.Document(50)"), nghĩa là các sheet được đánh số liên tiếp, trang đầu tiên của sheet sau bằng trang cuối cùng của sheet trước +1 (hình như code gốc thiếu đoạn +1, hì)
 
Bạn thử code này xem sao.
Mã:
Sub DSTrang()
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Worksheets
        Sh.Activate
        With ActiveSheet.PageSetup
                .CenterFooter = "&P"
                .FirstPageNumber = 0
                .DifferentFirstPageHeaderFooter = True
        End With
Next
MsgBox "OK"
Application.ScreenUpdating = True
End Sub
Cám ơn anh ạ!
 
cho e hỏi e muốn đanh số thứ tự của số phiếu tự động nhảy theo từng trang thì almf như thế nào ạ, e gà mợ lắm nên muốn anh chị giúp đỡ ak
 

File đính kèm

  • mẫu PX.xlsx
    13.9 KB · Đọc: 1
Chào cả nhà,
Mình giả sử có 10 sheets, mình muốn đánh số thứ tự trang từ sheet 4 đến sheet 8 thôi (sheet 1, 2, 3, 9, 10 bỏ trống) thì code như thế nào ạ? Tư vấn giúp mình nhé.
 
Lần chỉnh sửa cuối:
Có ai giúp em không ạ?
 
Web KT
Back
Top Bottom