Hỏi về code Hide row

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Em có đoạn code hide row: khi ẩn xong soi kính trước khi in thì nó vẫn hiện, nhưng thành trang trắng tinh. Làm thế nào để hide ẩn luôn khi in ra nó không hiện ra nữa. Em xin cảm ơn!

Sub ShowHideNoiBo()
    Rows("2:63").EntireRow.Hidden = True
End Sub

Vậy cách làm của bạn sẽ như sau:
Khi từ dòng…. đến dòng …. mà ẩn thì in vùng dữ liệu kia, ví dụ:

Sub ShowHideNoiBo()
Rows("2:63").EntireRow.Hidden = True
Range("C64:AF95").PrintOut
' Debug.Print Range("C64:AF95").Address
End Sub

Tôi thấy có vẻ bạn làm ngược hay sao ấy???
Nó ra trang trắng bởi vì bạn đã set vùng In: Print Area là cố định.

Đầu tiên cho Full vùng đều Hidden = True
Muốn in vùng nào thì phải Hidden = False, và đồng thời Code Add cho nó cái Print Area là vùng đó luôn chứ.

Vùng in là mình đá set trước! khi mình ẩn tay 1 2 dòng xong soi lên cũng đều bị ẩn đi, nhưng khi dùng code ẩn xong soi vẫn thấy nhưng là trang trắng tinh (file đính kèm bài #2)

Thử như vầy. Thêm cái Sub ShowAll gắn vào cái nút Show của bạn

Sub ShowHideNoiBo()
    Rows("2:186").EntireRow.Hidden = True
    Rows("2:63").EntireRow.Hidden = False
    ActiveSheet.PageSetup.PrintArea = Range("C2:AF63").Address
    'ActiveSheet.PrintPreview
End Sub

Sub ShowHidePYC()
    Rows("2:186").EntireRow.Hidden = True
    Rows("64:96").EntireRow.Hidden = False
    ActiveSheet.PageSetup.PrintArea = Range("C64:AF96").Address
    'ActiveSheet.PrintPreview
End Sub

Sub ShowHideAB()
    Rows("2:186").EntireRow.Hidden = True
    Rows("97:186").EntireRow.Hidden = False
    ActiveSheet.PageSetup.PrintArea = Range("C97:AF186").Address
    'ActiveSheet.PrintPreview
End Sub

Sub ShowAll()
    Rows("2:186").EntireRow.Hidden = False
    ActiveSheet.PageSetup.PrintArea = Range("C2:AF186").Address
End Sub

Làm Function: cho cái cập nhập này như nào anh nhỉ
Sub ShowHideNoiBo()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

Rows("2:186").EntireRow.Hidden = True
Rows("2:63").EntireRow.Hidden = False
ActiveSheet.PageSetup.PrintArea = Range("C2:AF63").Address
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub

Tùy bạn. File thật của bạn có nhiều sheet, có nhiều công thức tính toán thì nó nặng. Với file bạn đính kèm, chỉ Hide và Unhide có vài Row thì nghĩa địa gì chứ…
Tôi chưa thấy ai dùng Phân Xưng mà Hide với Unhide dòng cột cả. Thì ban cứ Sub, Sau đó trong thủ tục nào cần nó thì bạn cứ gọi nó (Call ABC) chẳng hạn…

à em nhầm! nếu ko muốn nháy thì tắt ScreenUpdating thôi anh nhỉ. cảm ơn anh nhiều

www.giaiphapexcel.com/diendan/threads/h%E1%BB%8Fi-v%E1%BB%81-code-hide-row.129157/#post-809918

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm