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

Bảng tính Excel của bạn có nhiều sheet, các bạn muốn quản lý chúng một cách khoa học nhất để khi cần thiết có thể nhanh chóng mở ra. Để quản lý các sheet nhanh chóng và đơn giản nhất thì các bạn cần tạo mục lục danh sách các sheet trong file Excel.

Dưới đây giới thiệu đến các bạn hai cách tạo mục lục danh sách các sheet trong Excel.

Cách 1: Tạo mục lục danh sách các sheet thủ công.

Bước 1: Tạo một sheet mới nên đặt ở đầu các sheet khác, tại đây các bạn tạo danh sách tên các sheet theo thứ tự bất kỳ mà bạn muốn.

Danh sách các Sheet

Bước 2: Chọn tên sheet đầu tiên trong danh sách bạn vừa tạo, nhấn chuột phải và chọn Hyperlink (hoặc tổ hợp phím Ctrl + K).

Hyperlink

Bước 3: Xuất hiện hộp thoại Insert Hyperlink, các bạn chọn Place in This Document trong phần Link to, sau đó các bạn chọn đến tên sheet các bạn muốn dẫn đến và nhấn OK để hoàn tất.

Place in This Document

Thực hiện các bước tương tự với các tên sheet dưới, cuối cùng bạn sẽ được mục ục danh sách các sheet trong Excel. Các bạn chỉ cần nhấn chuột vào tên sheet thì sheet bạn chọn sẽ được mở.

Index

Nhưng đây là cách các bạn có thể sử dụng với những file Excel có ít sheet, nếu có nhiều sheet các bạn nên thực hiện cách dưới đây.

Cách 2: Sử dụng VBA 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!

Bình luận (1)

  1. avatar
    Nguyễn Nhật Linh on July 31, 2016

    Rất hay. Tạo 1 cái add in có thể tìm kiếm tên sheet có lẽ hay hơn. Như vậy để tạo phụ lục cho file excel khoảng 100 sheet cũng mệt.

Viết bình luận