Gary có một sổ làm việc chỉ đọc mà nhiều người dùng có thể truy cập. Họ có thể sửa đổi các ô nhưng không lưu công việc của họ. Khi thoát khỏi sổ làm việc, Gary muốn Excel chỉ đóng mà không thông báo cho người dùng rằng nó ở chế độ chỉ đọc và cung cấp cho họ tùy chọn lưu bản sao.

Điều này được thực hiện tốt nhất bằng cách sử dụng macro để sửa đổi cờ Đã lưu trong sổ làm việc, ngay trước khi đóng. Cờ này cho biết nội bộ sổ làm việc có cần lưu hay không. Nếu cờ là Sai, thì Excel biết rằng sổ làm việc chưa được lưu (các thay đổi đã được thực hiện mà không lưu). Nếu macro của bạn đặt cờ thành True, thì Excel sẽ đóng trực tiếp vì nó cho rằng tất cả các thay đổi đã được lưu.

Đây là hình thức đơn giản nhất của macro:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ThisWorkbook.ReadOnly Then     ThisWorkbook.Saved = True   End If End Sub

Macro phải được thêm vào đối tượng ThisWorkbook trong VBA Editor.

Bằng cách đó, nó được tự động thực thi ngay trước khi đóng sổ làm việc. Cờ được đặt thành True và khi macro kết thúc, Excel sẽ tiếp tục với các thủ tục đóng bình thường. Vì Excel cho rằng không có thay đổi nào chưa được lưu, người dùng không thấy thông báo nào và sổ làm việc bị đóng.

_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 (10349) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.