Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

Trần Linh Chi
Trần Linh Chi
Jun 23 2021

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

Ẩn và bỏ ấn trang tính trong Excel 

Cách ẩn trang tính trong Excel

  • Nhấp chuột phải vào tên trang tính mà bạn muốn ẩn trang tính, sau đó chọn Hide. Lúc này trang tính bạn đã chọn đã được ẩn đi. 

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

  • Ngoài ra, bạn có thể ẩn nhiều trang tính cùng một lúc. Cách thực hiện cũng giống như ẩn trang tính đối với từng trang tính riêng lẻ. Tuy nhiên, trước khi chọn chức năng Hide, bạn hãy nhấp chọn vào tên 1 trang tính muốn ẩn, sau đó nhấn giữ phím Shift và tiếp tục nhấp chọn vào tên các trang tính khác muốn ẩn đi.  Sau đó, nhấp chuột phải và chọn Hide.

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

Cách bỏ ẩn trang tính trong Excel

Để bỏ ẩn trang tính trong Excel, ta làm theo các bước sau:

  • Nhấp chuột phải vào thẻ tên của một trang tính bất kì, chọn Unhide (Bỏ ẩn trang tính)

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

  • Lúc này, hộp thoại Unhide sẽ xuất hiện. Bạn muốn bỏ ẩn trang tính nào thì nhấp chọn vào trang tính đó và chọn OK. Lưu ý: Mỗi lần thực hiện thao tác chỉ có thể bỏ ẩn trang tính đối với 1 trang tính mà thôi, không thể bỏ cùng lúc nhiều trang tính. Và để dễ dàng biết đâu là trang tính mình muốn bỏ ẩn trang tính,  bạn nên đặt tên cho trang tính trước khi ẩn trang tính

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

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:

Ẩn và bỏ ẩn trang tính bằng VBA Excel

Bước 1: Chuẩn bị 

  • Tại tệp Excel bạn muốn tạo menu điều khiển ẩn hoặc bỏ ẩn trang tính, bạn tạo 1 trang tính (Sheet) và đặt tên là Menu. Trong trang tính Menu, bạn chuẩn bị các dữ liệu như ảnh sau:

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

  • Các trang tính còn lại trong tệp, bạn có thể đặt tên hoặc tô màu cho thẻ tên trang tính tùy theo ý thích. 
  • Vẽ nút lệnh:  Vào thẻ Insert > Shapes > Vẽ 2 hình khối (có thể sử dụng hình tùy ý mong muốn, ở đây Gitiho sẽ dùng 2 hình chữ nhật) để làm 2 nút lệnh ẩn hoặc bỏ ẩn trang tính và danh sách tên trang tính. Vẽ vào vị trí bất kì trong trang tính. Nên vẽ ngay bên cạnh bảng vừa tạo ở trên để tiện quan sát và điều khiển các thao tác ẩn và bỏ ẩn trang tính. Sau đó định dạng cho nút lệnh như nhập nội dung, trang trí nút lệnh theo mong muốn.

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

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

  • Lưu tệp Excel này dưới định dạng Excel Macro - Enabled Template để tạo tệp lưu trữ macro cho VBA trong Excel.

Bước 2: Viết Macro

Để 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

  • Đầu tiên, tạo 1 module trong cửa số VBA để bắt đầu viết macro

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

  • Trong Module vừa tạo, bạn viết đoạn code dưới đây. Đoạn code này dùng để liệt kê tất cả các trang tính có trong tệp vào bảng danh sách chúng ta chuẩn bị ở bước 1. 
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
  • Gán Macro vừa viết vào nút lệnh danh sách tên bằng Assign Macro

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

  • Khi nhấp chuột vào nút lệnh Danh sách tên, Macro sẽ tự động liệt kê toàn bộ tên trang tính vào cột A, bắt đầu từ ô A2

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

Bước 3: Viết công thức ẩn và bỏ ẩn trang tính

Trước khi viết công thức ẩn và bỏ ẩn trang tính, chúng ta cần hiểu logic:

  • Nếu trang tính nào đang được ẩn thì sẽ không hiện, nếu không ẩn trang tính thì trang tính sẽ hiện
  • Vì vậy, chúng ta chỉ cần điều khiển cột ẩn trang tính (cột Ẩn - cột B) thì cột bỏ ẩn trang tính (cột Hiện - cột C) sẽ tự động dựa theo công thức để lấy kết quả
  • Có công thức ở cột C như sau:

Hướng dẫn cách ẩn trang tính theo ý muốn bằng VBA trong Excel

Ở đâ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 đó:

  • IF(A3=””, “”,  : Nếu giá trị trong ô A3 là rỗng (không có tên trang tính) thì trả về giá trị rỗng
  • IF(B3=”x”, “”, “x”): Nếu giá trị trong ô B3 (được đánh dấu x cho việc ẩn trang tính) thì giá trị trong cột Hiện sẽ là rỗng. Ngược lại nếu không đánh dấu x vào ô Ẩn thì sẽ trả về giá trị x tại ô Hiện

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

Bước 4: Viết code để ẩn và bỏ ẩn trang tính

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 

Tổng kết

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

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

Bài viết liên quan

Cách ứng dụng hàm INT và MOD cho lễ tân và các công việc khác

Cách ứng dụng hàm INT và MOD cho lễ tân và các công việc khác

Hướng dẫn cách tách địa chỉ ra khỏi chuỗi

Hướng dẫn cách tách địa chỉ ra khỏi chuỗi

CÁCH TÍNH ĐIỂM TRUNG BÌNH VÀ XẾP LOẠI TRONG EXCEL (KÈM BÀI TẬP)

CÁCH TÍNH ĐIỂM TRUNG BÌNH VÀ XẾP LOẠI TRONG EXCEL (KÈM BÀI TẬP)

Hướng dẫn kiểm tra giá trị trùng lặp cực đơn giản trên Excel 2010, 2013, 2016, 2019

Hướng dẫn kiểm tra giá trị trùng lặp cực đơn giản trên Excel 2010, 2013, 2016, 2019

Cách cộng, trừ ngày tháng năm trong Excel để tính số ngày siêu nhanh cho kế toán

Cách cộng, trừ ngày tháng năm trong Excel để tính số ngày siêu nhanh cho kế toán

Hướng dẫn 4 cách bôi đen trong Excel đơn giản và nhanh chóng

Hướng dẫn 4 cách bôi đen trong Excel đơn giản và nhanh chóng

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội