Chết cười. Cho bạn thêm cách khác như sau:
1. Liệt kê hết các commanbars chuột phải:
Sub Lietke_CommandBars_List()
Dim i As Long
Dim wb As Workbook
Set wb = Workbooks.Add
wb.Worksheets(1).Cells(1, 1) = "Caption"
With Application.CommandBars("Cell").Controls
For i = 1 To .Count
wb.Worksheets(1).Cells(i + 1, 1) = .Item(i).Caption
Next i
End With
End Sub
2. Xóa các commandbars không cần thiết đi.
Ở trên, tên các commandbars đã được liệt kê trên cột A, bắt đầu từ ô A2.
Bạn chỉ giữ lại những commandbars nào mà bạn muốn xóa trên cột A.
Chạy thủ tục sau:
Sub Delete_CommandBars_List()
Dim i As Long, j As Long
Dim s As String
With Application.CommandBars("Cell").Controls
For i = .Count To 1 Step -1
For j = 2 To 9 Step 1
s = Workbooks("Book1").Sheets(1).Range("A" & j).Value 'Tên file và sheet file excel ở bước 1
If .Item(i).Caption = s Then
Application.CommandBars("Cell").Controls(s).Delete
End If
Next j
Next i
End With
End Sub
Tự ý thay đổi (thêm commandbars) mà cứ để đấy, không xóa (commandbars) đi khi người ta đóng file => ý tưởng thiết kế tồi, gây phiền hà cho người dùng.