Robin đã hỏi một câu hỏi liên quan đến một sự kỳ lạ trong Excel. Cô ấy tạo một trang tính có chứa một nút được vẽ bằng thanh công cụ Biểu mẫu và gán macro cho nút. Nút hoạt động tốt cho đến khi trang tính được bảo vệ, sau đó toàn bộ phần trên cùng của trang tính hoạt động như một nút. (Biểu tượng bàn tay xuất hiện bất kể bạn di chuyển chuột ở đâu và khi bạn nhấp vào macro sẽ thực thi — bạn không cần phải nhấp vào chính nút đó.)

Sự cố không xảy ra với tất cả các mục từ thanh công cụ Biểu mẫu mà chỉ xảy ra trong một số trường hợp nhất định. Nó chủ yếu xảy ra do một nút macro được liên kết với một ô (chẳng hạn như ô B2), và sau đó ô bị xóa. Điều này có nghĩa là nút về cơ bản là “không được đính kèm”, vì vậy Excel sẽ nhầm lẫn về vị trí của nút. Khi trang tính được bảo vệ, Excel hành động kỳ lạ vì nó tin rằng nút ở “mọi nơi” vì nó không thực sự biết nút thuộc về đâu.

Giải pháp rõ ràng là đảm bảo rằng nút macro luôn được gắn vào một ô không bị xóa. Bỏ bảo vệ sổ làm việc, chọn phần nhỏ của nút gần tiêu đề cột và di chuyển nó đến ô bạn muốn liên kết với nó. Bảo vệ lại trang tính và hành vi kỳ lạ sẽ biến mất.

Nếu bạn không thể nhìn thấy nút đang gây ra sự cố, có thể là do nút quá nhỏ. Giải pháp cho tình huống đó là chạy macro tìm kiếm tất cả các nút trong trang tính và hiển thị chúng. Trên trang tính không được bảo vệ, hãy chạy như sau:

Sub CheckShapes()

Dim myShape As Shape     For Each myShape In ActiveSheet.Shapes         With myShape             If .Height < 2 Then .Height = 20             If .Width < 2 Then .Width = 20         End With     Next myShape End Sub

Macro bước qua tất cả các hình dạng trong trang tính và nếu chúng có chiều cao hoặc chiều rộng nhỏ hơn 2 pixel, sẽ tăng chiều cao và chiều rộng của chúng để chúng hiển thị. Bây giờ bạn sẽ có thể nhìn thấy nút macro và có thể kéo nó đến một vị trí trên trang tính hoặc xóa nó.

_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 (2830) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.