![]() |
| Lỗi không move or copy được sheet của Excel |
Mặc định trên Excel có hỗ trợ tính năng bảo vệ cho bảng tính ( như Protect Sheet, Protect Workbook), nhưng các công cụ chưa thể đáp ứng được các nhu cầu cụ thể của người sử dụng, chẳng hạn cho phép lưu nhưng không cho phép thêm sheet mới, cho lưu nhưng không cho phép in,…Do vậy bài viết này xin chia sẻ thủ thuật ngăn chặn thêm sheet trong bảng tính excel, không cho in bảng tính, không cho save as bảng tính excel.
Chức năng Protect Workbook, không cho phép thay đổi cấu trúc của bảng tính như thêm, xóa, di chuyển, hay đổi tên các Sheet. Tuy nhiên, có thể bạn chỉ muốn ngăn chận việc thêm Sheet thôi, còn những việc khác thì vẫn cho phép. Trong bài viết này tôi sẽ hướng dẫn cho các bạn sửa lỗi không copy được sheet của Excel. Đoạn code sau đây giúp bạn làm việc đó
Sub TOOLS_DELETENAMEDRANGE()Bạn có thể tham khảo thêm code này nếu code trên không hiệu quả
Dim nm As name
On Error Resume Next
For Each nm In ActiveWorkbook.Names
If (MsgBox("Delete name- " & nm.name, vbYesNo) = vbYes) Then
nm.Delete
End If
Next
On Error GoTo 0
End Sub
Sub do_loop_names()Để chay được code VBA trong Excel: Mở Visual Basic Editor: chọn Vusual Basic hoặc bấm tổ hợp phím Alt + F11.
Dim vJunkName As Name
Debug.Print ThisWorkbook.Names.Count
For Each vJunkName In ThisWorkbook.Names
vJunkName.Delete
Next vJunkName
End Sub
Lưu ý: Với 2 code trên tôi đã test thành công trên nhiều file, nếu bạn nào không làm được vui lòng để lại comments bên dưới

Thanks Great
Trả lờiXóaCảm ơn bạn đã chia sẻ
Trả lờiXóa