CÔNG TY CỔ PHẦN BLUESOFTS

Lọc ra danh sách tên sheet trong file trên Excel

Giả sử chúng ta có một file Excel gồm các sheet sau: Bluesofts.net1, Bluesofts.net2, Bluesofts.net3, Bluesofts.net4, Bluesofts.net5, Bluesofts.net6. Yêu cầu bài toán là lọc ra tên tất cả các sheet vào một cột bất kỳ trong 1 sheet.

Để giải bài toán trên, các bạn làm theo các bước sau:

Bước 1: Các bạn vào môi trường lập trình (nhấn phím tắt Alt+F11) , rồi bạn vào menu Insert -> chọn vào module để insert module, sau khi tạo xong module, các bạn copy code dưới đây vào trong module:

Sub LayTenSheet()
   Dim Sh As Worksheet
   Dim I As Long
   'Duyet tung sheet trong sheets, ghi ten sheet ra cot A
   For Each Sh In Application.ThisWorkbook.Sheets
      I = I + 1
      Cells(I, 1).Value = Sh.Name
   Next
End Sub

Bước 2: Các bạn vào môi trường bảng tính, vào Menu Developer --> chọn Insert --> Button (Form Control) (Trường hợp trên thanh Menu chưa có thẻ Developer thì thực hiện như sau: File --> Options --> Customize Ribbon rồi tích chọn vào ô Developer và nhấn OK)

Sau khi chọn vào Button, các bạn đặt chuột vào 1 ví trí mà bạn muốn tạo nút bấm, giữ chuột trái và kéo một vùng đủ rộng của nút bấm,rồi thả chuột sẽ hiện ra bảng Assign Macro. Chọn tên Macro "LayTenSheet" rồi click chuột trái vào OK. 

Bước 3: Sau khi Assign xong Macro thì bạn click chuột phải vào nút bấm vừa tạo và sửa tên theo ý của bạn, sau khi sữa tên xong, các bạn click chuột ra bên ngoài bảng tính.

Bước 4: Tiếp theo các bạn click chuột trái vào nút bấm để nhận kết quả.

Tính ứng dụng của chức năng này: Trong môi trường doanh nghiệp file excel sẽ có rất nhiều sheets, việc sử dụng công thức giữa các sheets hoặc nhớ các tên sheets gặp nhiều khó khăn, đồng thời file excel có thể chia sẻ cho nhiều người sử dụng. Do đó, chức năng này sẽ giúp người dùng kiểm soát và sử dụng file excel hiệu quả hơn.

Ngoài ra, khi tạo ra file excel tự động bằng công thức hoặc bằng VBA thì người dùng sẽ thường ẩn sheets tự động để không tác động vào tên, cấu trúc các sheets trong file excel. Tính năng này sẽ trở nên hữu ích cho người dùng để tạo các thêm các công thức từ các sheets bị ẩn theo cấu trúc ten_sheet!. Ví dụ: =Sum(Bluesofts.net2!$B$5:$B$200).

Link tải file: bluesofts.net/Baiviet/Laptrinh/VB_VBA/phong/loctensheet/loctensheet.xlsm

Đăng ký học: Link đăng ký học.

Tác giả: Hoàng Phong - Công ty Cổ phần Bluesofts