Vấn đề xác định trang in

Liên hệ QC

Ếch Xanh

Thành viên tích cực
Tham gia
12/8/09
Bài viết
865
Được thích
1,572
Xin các Thầy và các bạn hướng dẫn code xác định trang in số mấy tại cell đang hiện hành (active/ select). Chỉ xác định theo trang có chứa dữ liệu.

Xin cám ơn rất nhiều.

Về việc xác định số trang in thì Thầy Phạm Duy Long đã hướng dẫn bằng Macro4 nên em đã áp dụng, trường hợp trên thì không biết làm sao!

PHP:
Sub SoTrang()
  Dim n As Long
    n = ExecuteExcel4Macro("Get.Document(50)")
  MsgBox n
End Sub
 
Lần chỉnh sửa cuối:
Xin các Thầy và các bạn hướng dẫn code xác định trang in số mấy tại cell đang hiện hành (active/ select). Chỉ xác định theo trang có chứa dữ liệu.

Xin cám ơn rất nhiều.

Về việc xác định số trang in thì Thầy Phạm Duy Long đã hướng dẫn bằng Macro4 nên em đã áp dụng, trường hợp trên thì không biết làm sao!
Mình nghĩ đoạn code này có thể giúp ích cho bạn đó
PHP:
Public Sub Print_Page_of_ActiveCell()
    Dim ActiveRow As Long, ActiveCol As Integer
    Dim iHPBs As Integer, iVPBs As Integer
    Dim iRow As Integer, iCol As Integer, iPage As Integer
     
    ActiveRow = ActiveCell.Row
    ActiveCol = ActiveCell.Column
    ActiveSheet.UsedRange
    If IsEmpty(ActiveCell.SpecialCells(xlCellTypeLastCell)) Then _
    ActiveCell.SpecialCells(xlCellTypeLastCell).FormulaR1C1 = " "
    If ActiveRow > ActiveCell.SpecialCells(xlCellTypeLastCell).Row Or _
    ActiveCol > ActiveCell.SpecialCells(xlCellTypeLastCell).Column Then _
    Exit Sub
     
    With ActiveSheet
        .PageSetup.Order = xlDownThenOver
        iHPBs = .HPageBreaks.Count
        iVPBs = .VPageBreaks.Count
        If iHPBs = 0 And iVPBs = 0 Then GoTo PrintSheet
Horizontal:
        For iRow = iHPBs To 1 Step -1
            If .HPageBreaks(iRow).Location.Row <= ActiveRow Then GoTo Vertical
        Next iRow
Vertical:
        For iCol = iVPBs To 1 Step -1
            If .VPageBreaks(iCol).Location.Column <= ActiveCol Then GoTo PrintSheet
        Next iCol
PrintSheet:
        iPage = (iRow + 1) + (iCol * (iHPBs + 1))
        .PrintOut From:=iPage, To:=iPage
        MsgBox "Printing page " & iPage
    End With
    If ActiveCell.SpecialCells(xlCellTypeLastCell).FormulaR1C1 = " " Then _
    Selection.SpecialCells(xlCellTypeLastCell).ClearContents
End Sub
Xin lỗi đừng kếu mình giải thích nó nhen mình chỉ biết tìm thôi. Mong anh các anh chị và các bạn giải thích giúp. Thanks
Nguồn http://www.ozgrid.com/forum/showthread.php?t=28731&page=1
 
Upvote 0
Mình nghĩ đoạn code này có thể giúp ích cho bạn đó
Xin lỗi đừng kếu mình giải thích nó nhen mình chỉ biết tìm thôi. Mong anh các anh chị và các bạn giải thích giúp. Thanks
Nguồn http://www.ozgrid.com/forum/showthread.php?t=28731&page=1

Cám ơn bạn nmhung49 đã quan tâm, nhưng hình như nó vẫn chưa đúng thật sự với yêu cầu của mình thì phải. Thử kiểm tra trên trang 1 rồi qua trang cạnh bên về bên phải nó trơ trơ ra bạn à!
 
Upvote 0
Cám ơn bạn nmhung49 đã quan tâm, nhưng hình như nó vẫn chưa đúng thật sự với yêu cầu của mình thì phải. Thử kiểm tra trên trang 1 rồi qua trang cạnh bên về bên phải nó trơ trơ ra bạn à!
Cái này nó hơi lạ bạn phải đánh có dữ liệu ở trong sheet rồi chọn chế độ Page Break Preview sao đó chọn Normal trở lại thì đoạn code này mới thực hiện đúng mình cũng không biết nữa đâu bạn thử lại xem sao hen. Chúc thành công
 
Upvote 0
Cái này nó hơi lạ bạn phải đánh có dữ liệu ở trong sheet rồi chọn chế độ Page Break Preview sao đó chọn Normal trở lại thì đoạn code này mới thực hiện đúng mình cũng không biết nữa đâu bạn thử lại xem sao hen. Chúc thành công

Thật ra mình chỉ muốn xác định trang in thôi, nên khi trải qua nhiều công đoạn quá thì mình dùng code cũng không bằng thủ công. Giống như Word, khi in có mục Current Page, nhưng Excel thì không có, vì vậy mình muốn xác định là như vậy!
 
Upvote 0
Thật ra mình chỉ muốn xác định trang in thôi, nên khi trải qua nhiều công đoạn quá thì mình dùng code cũng không bằng thủ công. Giống như Word, khi in có mục Current Page, nhưng Excel thì không có, vì vậy mình muốn xác định là như vậy!

Vậy trong excel có mục Print What Selection đó Learning_Excel không biết có phải ý bạn như thế không
 
Upvote 0
Cũng nói thêm là khi ta xác định được Current page trong Excel cũng rất hay, nếu như một sheet ta có rất nhiều trang và những trang đó chạy từ phải sang trái, giống như ta làm nhãn thông tin cho nhân viên trong cơ quan vậy, thì khó xác định được ta muốn in là trang nào, phải Print Preview rồi check từng mục xem cái mục mình cần in là trang mấy sau đó mới chọn trang xác định rồi in.
Vì vậy nên khi ta xác định con trỏ đặt tại ô hiện hành nào thì trang đó được xác định, ta chỉ việc in theo ý muốn.
 
Upvote 0
Vậy trong excel có mục Print What Selection đó Learning_Excel không biết có phải ý bạn như thế không

Cái này cũng hay trong Excel, nhưng lại dở! Bởi vì bạn cứ thử nhé, nếu chọn vùng in tại điểm giao giữa 2 trang, nó không in theo ý mình mà in thành 2 trang, trong đó có 1 phần là trang này, một phần là trang kia! Bạn thử sẽ thấy!
 
Upvote 0
Chắc vấn đề này không có giải pháp, vì thế, chính Microsoft Excel cũng không làm theo lựa chọn Current Page!!! Hic.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom