Menu

Chia sẻ thủ thuật ẩn/hiện sheet tự động bằng VBA cực nhanh

Thi Sơn Quang 14/03/2026 08:21 421 lượt xem 3 trả lời

Chào các bác, dạo này em thấy mọi người hay chia sẻ các bài viết hay về Excel trên diễn đàn mình, nên hôm nay em cũng mạnh dạn chia sẻ một thủ thuật nhỏ mà em hay dùng để quản lý file Excel cho gọn gàng hơn, hy vọng sẽ hữu ích cho mọi người.

Công việc của em đôi khi phải làm việc với những file có rất nhiều sheet, việc phải mở từng sheet một để xem hoặc ẩn đi khi không cần dùng đến khá mất thời gian, đặc biệt là khi cần xem nhanh một vài sheet trong số hàng chục sheet.

Em đã tìm hiểu và áp dụng VBA để giải quyết vấn đề này. Thủ thuật này giúp chúng ta có thể ẩn hoặc hiện nhiều sheet cùng lúc chỉ với một vài thao tác đơn giản.

Cách thực hiện:

Các bước thực hiện như sau:

  • Mở file Excel của bạn.
  • Nhấn Alt + F11 để mở cửa sổ VBA (Visual Basic for Applications).
  • Trong cửa sổ VBA, vào Insert > Module.
  • Copy và paste đoạn code sau vào cửa sổ Module vừa tạo:
Sub HideSelectedSheets()
    Dim ws As Worksheet
    On Error Resume Next
    For Each ws In ThisWorkbook.Worksheets
        If ws.Visible = xlSheetVisible Then
            ws.Visible = xlSheetHidden
        Else
            ws.Visible = xlSheetVisible
        End If
    Next ws
    MsgBox "Đã ẩn/hiện các sheet!", vbInformation
End Sub
  • Sau khi paste code, bạn có thể chạy macro này bằng cách nhấn F5 hoặc vào View > Macros, chọn HideSelectedSheets rồi nhấn Run.

Với đoạn code này, mỗi lần chạy macro, nó sẽ lặp qua tất cả các sheet. Nếu sheet nào đang hiển thị thì nó sẽ ẩn đi, còn nếu sheet nào đang ẩn thì nó sẽ hiển thị lên. Rất tiện lợi phải không ạ?

Em thấy cách này giúp tiết kiệm kha khá thời gian và làm cho file làm việc của mình trông chuyên nghiệp hơn. Mọi người có thể tùy chỉnh thêm để ẩn/hiện theo điều kiện cụ thể nếu muốn.

Chúc mọi người áp dụng thành công!

0

Thủ thuật này hay quá bạn ơi! Mình cũng hay gặp tình trạng file Excel nhiều sheet mà lỉnh kỉnh. Không biết bạn có thể chia sẻ cụ thể hơn đoạn code VBA đó không? Mình muốn xem cách bạn xử lý để ẩn/hiện theo điều kiện nào đó.

1

Tuyệt vời! Thủ thuật ẩn/hiện sheet tự động bằng VBA này rất thiết thực, nhất là với những file có nhiều sheet như bạn mô tả. Mình cũng từng vật lộn với việc quản lý các file tương tự.

Mình rất muốn xem cụ thể đoạn code bạn dùng. Không biết bạn có thể chia sẻ thêm cách bạn đặt điều kiện để ẩn/hiện không? Ví dụ, có cách nào để ẩn hết các sheet trừ sheet đang chọn, hoặc ẩn theo tên sheet không? Như vậy sẽ rất tiện lợi!

5

Cảm ơn bạn đã chia sẻ thủ thuật này! Mình cũng rất hay làm việc với file Excel nhiều sheet và đôi khi cảm thấy hơi rối. Đoạn code VBA bạn chia sẻ rất hữu ích để quản lý file gọn gàng hơn.

Mình tò mò không biết bạn có thể chia sẻ thêm về cách bạn đã làm để ẩn/hiện sheet tự động không? Ví dụ, có cách nào để tự động ẩn tất cả các sheet trừ một sheet đang hoạt động không? Hoặc ẩn tất cả các sheet theo một quy tắc đặt tên nào đó chẳng hạn?

1

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký