Khi bạn bắt đầu viết macro Excel, bạn có thể dễ dàng nhận được một số macro trong sổ làm việc. Tại một số điểm, bạn có thể muốn tạo một danh sách các macro trong sổ làm việc của mình. Không có cách nào bên trong Excel để tạo danh sách các macro. Tuy nhiên, bạn có thể tạo một macro sẽ liệt kê các macro của bạn. (Sắp xếp âm thanh thừa phải không?)

Ví dụ, hãy xem xét macro sau, bước qua tất cả các dự án trong sổ làm việc của bạn để thu thập tất cả các tên macro và đặt chúng trong một trang tính:

Sub ListMacros()

Dim VBComp As VBComponent     Dim VBCodeMod As CodeModule     Dim oListsheet As Object     Dim StartLine As Long     Dim ProcName As String     Dim iCount As Integer

Application.ScreenUpdating = False     On Error Resume Next     Set oListsheet = ActiveWorkbook.Worksheets.Add     iCount = 1     oListsheet.[a1] = "Macro"



For Each VBComp In ThisWorkbook.VBProject.VBComponents         Set VBCodeMod = ThisWorkbook.VBProject.VBComponents(VBComp.Name).CodeModule         With VBCodeMod             StartLine = .CountOfDeclarationLines + 1             Do Until StartLine >= .CountOfLines                 oListsheet.[a1].Offset(iCount, 0).Value = _                   .ProcOfLine(StartLine, vbext_pk_Proc)

iCount = iCount + 1

StartLine = StartLine + _                   .ProcCountLines(.ProcOfLine(StartLine, _                    vbext_pk_Proc), vbext_pk_Proc)

Loop         End With         Set VBCodeMod = Nothing     Next VBComp

Application.ScreenUpdating = True End Sub

Để sử dụng macro này, bạn phải đảm bảo rằng bạn có bộ tham chiếu khả năng mở rộng VBA của Microsoft. Để thực hiện việc này, hãy làm theo các bước sau:

  1. Trong VBA Editor, chọn Tham chiếu từ menu Công cụ. Hộp thoại Tham khảo được hiển thị. (Xem Hình 1.)

  2. Cuộn qua danh sách Tham chiếu Có sẵn và đảm bảo hộp kiểm Microsoft Visual Basic cho Ứng dụng Mở rộng được chọn.

  3. Đóng hộp thoại.

Khi bạn chạy macro, nó sẽ thêm một trang tính mới vào sổ làm việc của bạn, sau đó liệt kê tên của tất cả các macro trong tất cả các mô-đun trong sổ làm việc.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (2715) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: