Excel cung cấp nhiều cách khác nhau để bạn có thể di chuyển từ trang tính này sang trang tính khác trong sổ làm việc. Nếu bạn muốn vô hiệu hóa việc di chuyển giữa các trang tính, bạn có một nhiệm vụ khó khăn trước mắt vì nhiều phương pháp bạn cần để thực hiện.

Ví dụ: một cách để di chuyển giữa các trang tính là nhấn Ctrl + Page Up hoặc Ctrl + Page Down. Để tắt các khóa này cho một sổ làm việc cụ thể, bạn cần sử dụng phương thức OnKey, theo cách sau:

Private Sub Workbook_Activate()

Application.OnKey "^{PgDn}", ""

Application.OnKey "^{PgUp}", ""

End Sub
Private Sub Workbook_Deactivate()

Application.OnKey "^{PgDn}"

Application.OnKey "^{PgUp}"

End Sub

Hai macro này nên được đặt trong đối tượng ThisWorkbook. Đầu tiên được chạy bất cứ khi nào sổ làm việc được kích hoạt và nó vô hiệu hóa Ctrl + Page Up và Ctrl + Page Down bằng cách không có gì chạy khi chúng được nhấn. Macro thứ hai được chạy khi sổ làm việc bị hủy kích hoạt và bật lại các khóa.

Vẫn còn một số cách khác để chuyển đổi giữa các trang tính, chẳng hạn như chọn trang tính theo cách thủ công, sử dụng Đi tới, sử dụng siêu liên kết, v.v. Cách dễ nhất để ngăn việc di chuyển giữa các trang tính là ẩn các trang tính bạn không muốn truy cập. Bảo vệ sổ làm việc và bảo vệ dự án VB cũng sẽ hỗ trợ trong việc “ngăn cản” người dùng di chuyển giữa các trang tính.

Nếu trang tính bị ẩn, chúng không thể được chọn và do đó bạn không thể di chuyển đến chúng. Go To sẽ không đi đến họ, siêu liên kết sẽ không đi đến họ.

Nếu bạn muốn người dùng có thể xem các trang tính ẩn sau này, bạn phải tạo một quy trình macro với các nút / điều khiển của riêng mình để chuyển đến các trang tính đó. Quy trình này sẽ “hiện” trang tính bạn sắp xem và ẩn trang tính bạn vừa để lại.

Tùy thuộc vào nhu cầu của bạn, có một cách tiếp cận khác mà bạn có thể thử. Bạn có thể thêm macro sau vào đối tượng ThisWorkbook:

Private Sub Workbook_SheetDeactivate(ByVal mySheet As Object)

Application.EnableEvents = False     mySheet.Activate     Application.EnableEvents = True End Sub

Macro này được thực thi mỗi khi trang tính hiện tại bị hủy kích hoạt.

Về cơ bản, nó “kích hoạt lại” trang tính đang được để lại, có nghĩa là không bao giờ có thể chọn trang tính khá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 (3333) á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: