05/03/2024
TẠO CHỈ MỤC CHO CÁC SHEET TRONG WORKBOOK BẰNG VBA
Khi bạn làm việc trong 1 Workbook có quá nhiều Sheet thì việc di chuyển, tìm kiếm 1 Sheet nào đó sẽ rất khó khăn và mất nhiều thời gian. Để thuận tiện hơn trong việc thao tác bạn nên lập một chỉ mục các Sheet đang có để thuận tiện cho việc điều hướng khi làm việc.
Bằng cách sử dụng chỉ mục các Sheet sẽ cho phép bạn nhanh chóng và dễ dàng điều hướng trong bảng tính, chỉ với một cú nhấp chuột sẽ đưa bạn đến chính xác nơi bạn muốn đến mà không mất quá nhiều thời gian.
- B1: Nhấn tổ hợp phím Alt+F11.
- B2: Nhập đoạn mã VBA sau vào cửa sổ Code
Private Sub CreateTableOfContents()
Dim wsSheet As Worksheet
Dim ws As Worksheet
Dim Counter As Long
On Error Resume Next
Set wsSheet = Sheets("Mucluc")
On Error GoTo 0
Counter = 1
If wsSheet Is Nothing Then
'Neu chua co Sheet Mucluc 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(Cells(2, 1), Cells(2, 2))
.Merge
.HorizontalAlignment = xlCenter
.Font.Bold = True
End With
'Thiet lap do rong cot
With Columns("A:A")
.ColumnWidth = 8
.HorizontalAlignment = xlCenter
End With
With Columns("B:B")
.ColumnWidth = 30
End With
For Each ws In Worksheets
If ws.Name wsSheet.Name Then
'Danh so 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
'Tao nut Quay ve Sheet Mucluc tren 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
- B3: Chạy đoạn Code trên
Đoạn Code trên sẽ giúp bạn tự động tạo Sheet Mucluc và trong Sheet này sẽ liệt kê toàn bộ các Sheet có trong Workbook. Bây giờ nhờ chỉ mục này, bạn có thể dễ dàng di chuyển tới bất kỳ Sheet nào mà bạn mong muốn.