bài gồm 2 phần
- Tạo mục lục trong excel bằng VBA
- Personal macro workbook
tạo mục lục trong excel bằng VBA
1. Alt+F11 > Insert New Module 2. copy&paste code vba bên dưới bỏ vào 3. Alt+F8 > tận hưởng Sub CreateTableOfContents() Dim ws As Worksheet Dim tocSheet As Worksheet Dim rowNum As Integer Dim linkCell As Range ' Check if "Table of Contents" sheet already exists, delete it if so On Error Resume Next Set tocSheet = ThisWorkbook.Worksheets("Table of Contents") If Not tocSheet Is Nothing Then Application.DisplayAlerts = False tocSheet.Delete Application.DisplayAlerts = True End If On Error GoTo 0 ' Add a new sheet for the TOC Set tocSheet = ThisWorkbook.Worksheets.Add tocSheet.Name = "Table of Contents" ' Add header With tocSheet .Cells(1, 1).Value = "Table of Contents" .Cells(1, 1).Font.Bold = True .Cells(1, 1).Font.Size = 14 End With ' Initialize row number for TOC entries rowNum = 3 ' Loop through all sheets and add to TOC For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Table of Contents" Then tocSheet.Cells(rowNum, 1).Value = ws.Name tocSheet.Hyperlinks.Add Anchor:=tocSheet.Cells(rowNum, 1), _ Address:="", SubAddress:="'" & ws.Name & "'!A1", TextToDisplay:=ws.Name rowNum = rowNum + 1 End If Next ws ' Auto-fit columns tocSheet.Columns("A:A").AutoFit ' Return to the TOC sheet tocSheet.Activate MsgBox "Table of Contents created successfully!", vbInformation End Sub Personal Macro Workbook
vì việc gửi 1 cái file excel có chứa VBA, đôi khi không được phép (vì vấn đề bảo mật), khách hàng họ sẽ không được phép mở 1 cái file excel có chứa VBA, các hệ thống IT của doanh nghiệp cũng chặn loại file này.
Trong excel có 1 cái rất hay gọi là Personal Macro Workbook PERSONAL.XLSB, chúng ta có thể lưu các đoạn vba thường dùng trong này,
hôm nay (2024-12-16) tìm thử nó, để lưu 1 đoạn macro mới thấy trong Office 365, thì nó không được hiển thị ra, mà phải làm 1 cái mẹo
mẹo "hiển thị PERSONAL.XLSB"
- tạo 1 file excel bất kỳ, chọn
Files > Options > Customize Ribbon - Checked vào menu
Developer - mở
Ribbons > Developer > Record Macro - chọn "Store macro in: = Personal Macro Workbook
OK giờ nó đã hiển thị ra rồi, lưu vba cần dùng vào đây thôi.





Top comments (0)