Mục lục
Khi làm việc với một tệp Excel có rất nhiều trang tính, có những trang tính bạn không thường hay sử dụng. Nếu để hết trên thanh tên trang tính sẽ rất rối mắt và gây ra khó khăn trong việc tìm kiếm trang tính. Vì vậy, bạn nên ẩn trang tính không cần sử dụng hoặc không hay sử dụng tới đi, khi nào cần tới mới bỏ ẩn trang tính đó để sử dụng như bình thường. Trong bài viết này, Gitiho sẽ hướng dẫn bạn cách ẩn trang tính cũng như bỏ ẩn trang tính trong Excel theo 2 cách.
Tuyệt đỉnh VBA - Viết Code trong tầm tay
Để bỏ ẩn trang tính trong Excel, ta làm theo các bước sau:
Xem cách đặt tên trang tính ở đây: Cách di chuyển nhanh giữa các Sheet và đặt tên Sheet Excel đúng chuẩn
Tuy nhiên, nếu thực hiện theo cách truyền thống này thì chỉ có thể bỏ ẩn trang tính đối với 1 trang tính mà thôi. Để ẩn trang tính hoặc bỏ ẩn nhiều trang tính cùng một lúc, bạn hoàn toàn có thể tạo 1 menu như một bảng điều khiển ẩn trang tính hoặc bỏ ẩn trang tính trong tệp Excel nhanh chóng và tiện lợi hơn rất nhiều bằng VBA trong Excel. Cách tạo menu này cũng rất dễ đó! Các bước thực hiện như sau:
Chú ý: Bạn có thể tải mẫu của trang tính Menu này ở cuối bài nhé! Sau khi tải mẫu về, bạn có thể tạo 1 trang tính mới trong tệp của bạn, sau đó sao chép bảng mẫu và dán vào trang tính đó. Hoặc bạn có thể lấy dữ liệu từ bảng tính mẫu vào tệp Excel của bạn: Hướng dẫn cách lấy dữ liệu từ file Excel này sang file Excel khác
Để có thể điều kiển thao tác ẩn và bỏ ẩn trang tính trong Excel bằng VBA, chúng ta cần phải viết được macro lấy danh sách tên trang tính
Xem cách tạo module và chèn code vào module tại đây: Làm thế nào chèn code vào module trong VBA Excel
Sub SheetList() Dim ws As Worksheet Dim lr As Long lr = 2 For Each ws In ThisWorkbook.Worksheets Sheets("MENU").Range("A" & lr).Value = ws.Name lr = lr + 1 Next ws End Sub
Trước khi viết công thức ẩn và bỏ ẩn trang tính, chúng ta cần hiểu logic:
Ở đây, "x" là ký tự đại diện cho việc bạn sẽ đánh dấu ký hiệu cho việc trang nào sẽ được chọn để ẩn hoặc bỏ ẩn trang tính. Công thức như sau:
=IF(A3=””, “”, IF(B3=”x”, “”, “x”))
Trong đó:
Công thức này sẽ nhập bắt đầu từ trang tính ngay dưới trang tính Menu. Ở trang tính Menu, ta nhập giá trị "x" luôn để thể hiện trang tính Menu sẽ luôn hiện
Tạo 1 đoạn code có tên AnHien_Sheet như sau:
Sub AnHien_Sheet() Dim lr As Long lr = Sheets("MENU").Cells(Rows.Count, 1).End(xlUp).Row Dim sodong As Long 'An/hien sheet For sodong = 2 To lr 'Mo an tat ca cac sheet Worksheets(Sheets("MENU").Range("A" & sodong).Value).Visible = xlSheetVisible 'An sheet duoc danh dau If Sheets("MENU").Range("B" & sodong).Value = "x" Then Worksheets(Sheets("MENU").Range("A" & sodong).Value).Visible = xlSheetHidden End If Next sodong Sheets("MENU").Activate End Sub
Nếu bạn chưa hiểu về cấu trúc vòng lặp For được áp dụng trong đoạn code trên, bạn có thể tham khảo tại bài viết này: Hướng dẫn sử dụng vòng lặp For.. Next trong VBA.
Sau khi viết xong đoạn code thì gán đoạn code vào nút lệnh Ẩn và bỏ ấn trang tính
Trong bài viết trên, Gitiho đã hướng dẫn bạn cách ẩn và bỏ ẩn trang tính trong Excel với 2 cách là ẩn/bỏ ẩn trang tính theo cách truyền thống và tự động ẩn/bỏ ấn trang tính bằng VBA Excel.
Qua bài viết, bạn có thể thấy, việc ứng dụng VBA vào Excel giúp cho quá trình làm việc với bảng tính Excel trở nên đơn giản và nhanh chóng hơn rất là nhiều, kể cả những tệp Excel với rất nhiều bảng tính và nhiều dữ liệu. Để tìm hiểu công cụ cực kì hữu ích này, hãy tham gia khóa học Tuyệt đỉnh VBA - Viết Code trong tầm tay để làm quen với VBA từ A tới Z và ứng dụng thành thạo VBA vào Excel nhé!
Tài liệu kèm theo bài viết