Như các bạn đã biết đó là, khi trong một file Excel có quá nhiều Sheet thì việc di chuyển qua lại giữa các Sheet sẽ gặp rất nhiều khó khăn và còn hay bị nhầm lẫn nữa. Điều này chắc chắn sẽ gây khó chịu khi làm việc, nhất là khi bạn đang cần thao tác gấp để hoàn thành công việc.
Để giải quyết cho vấn đề này thì có nhiều bạn đã sử dụng cách đặt tên cho Sheet càng ngắn càng tốt để có nhiều không gian hiển thị hơn, tuy nhiên nếu có quá nhiều Sheet (trên 25) thì cách này cũng không khả thi cho lắm và tất nhiên việc đặt tên quá ngắn sẽ không hiển thị hết nội dung của nó.
Bước 1: Trên file Excel cần tạo mục lục danh sách các sheet các bạn nhấn tổ hợp phím Alt + F11 để mở Visual Basic Editor.
Bước 2: Trên cửa sổ Microsoft Visual Basic for Applications các bạn chọn Insert -> Module.
Bước 3: Copy toàn bộ đoạn code dưới đây và paste vào khung Module.
| Private Sub CreateTableOfContents() Dim wsSheet As Worksheet Dim ws As Worksheet Dim Counter As Long On Error Resume Next Set wsSheet = Sheets("Mucluc") 'Kiem tra su ton tai cua Sheet On Error GoTo 0 If wsSheet Is Nothing Then 'Neu chua co thi them vao vi tri dau tien cua Workbook Set wsSheet = ActiveWorkbook.Sheets.Add(Before:=Worksheets(1)) wsSheet.Name = "Mucluc" End If With wsSheet .Cells(2, 1) = "DANH SACH CAC SHEET" .Cells(2, 1).Name = "Index" .Cells(4, 1).Value = "STT" .Cells(4, 2).Value = "Ten Sheet" End With 'Merge Cell With Range("A2:B2") .Merge .HorizontalAlignment = xlCenter .Font.Bold = True End With 'Set ColumnWidth With Columns("A:A") .ColumnWidth = 8 .HorizontalAlignment = xlCenter End With With Range("A4") .HorizontalAlignment = xlCenter .Font.Bold = True End With Columns("B:B").ColumnWidth = 30 With Range("B4") .HorizontalAlignment = xlCenter .Font.Bold = True End With Counter = 1 For Each ws In Worksheets If ws.Name wsSheet.Name Then 'Gan gia tri cot thu tu wsSheet.Cells(Counter + 4, 1).Value = Counter 'Tao lien ket wsSheet.Hyperlinks.Add Anchor:=wsSheet.Cells(Counter + 4, 2), _ Address:="", _ SubAddress:=ws.Name & "!A1", _ ScreenTip:=ws.Name, _ TextToDisplay:=ws.Name 'Them nut Quay ve Sheet Muc luc tai moi Sheet With ws .Hyperlinks.Add Anchor:=.Range("H1"), Address:="", SubAddress:="Index", TextToDisplay:="Quay ve" End With Counter = Counter + 1 End If Next ws Set xlSheet = Nothing End Sub |
Bước 4: Sau đó các bạn nhấn chọn Run -> Run Sub hoặc phím F5 để chạy chương trình.
Lúc này trên file Excel của bạn sẽ có một sheet Mucluc và trong đó là mục lục danh sách các sheet trong Excel. Các bạn muốn mở sheet nào thì các bạn chỉ cần nhấn con trỏ chuột vào tên sheet đó trong danh sách các sheet.
Như vậy với hai cách tạo mục lục danh sách các sheet trong Excel, hi vọng các bạn có thể áp dụng dễ dàng với file Excel của mình. Chúc các bạn thành công!
Theo: thuthuatphanmem.vn
Bài viết liên quan
Đọc dữ liệu số thành chữ trong Excel 1763 Lượt xem
15 hàm cơ bản được dùng nhiều nhất trong Excel 2208 Lượt xem
38 phím tắt đơn giản cực hữu ích trong excel 1340 Lượt xem
Làm xuất hiện số 0 trước số điện thoại di động 2017 Lượt xem
Tìm và xóa dữ liệu trùng lặp trong Excel 1475 Lượt xem
Pivot table là gì? Cách sử dụng Pivot table trong excel 1105 Lượt xem
Hướng dẫn cách tạo mục lục tự động cho Word 1459 Lượt xem
Cách sử dụng hàm if trong excel 829 Lượt xem
Tự động copy công thức khi thêm dòng mới trong Excel 2858 Lượt xem