Tạo mục lục danh sách các Sheet trong Excel

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ó.

 
Đọc dữ liệu số thành chữ trong Excel
Cách sửa lỗi file CSV tiếng Việt khi mở bằng Excel
15 hàm cơ bản được dùng nhiều nhất trong Excel

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.

Nhấn ALT F11

Bước 2: Trên cửa sổ Microsoft Visual Basic for Applications các bạn chọn Insert -> Module.

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.

Run Sub

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.

Kết quả

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

38 phím tắt đơn giản cực hữu ích trong excel