Mục lục:
- Cách macro hoạt động
- Để thực hiện macro này, bạn cần sao chép và dán nó vào cửa sổ mã sự kiện Workbook_BeforeClose. Đặt macro ở đó cho phép nó chạy mỗi lần bạn cố gắng đóng bảng tính:
Video: hướng dẫn tạo các sheet trong file excel theo 1 sheet mẫu bằng VBA 2025
Macro trình bày ở đây là một cách tuyệt vời để bảo vệ người dùng khỏi vô tình đóng tập tin của họ trước khi lưu. Khi được thực hiện, macro này đảm bảo rằng Excel tự động lưu lại bảng tính trước khi đóng nó.
Excel sẽ thông báo cho người dùng đang cố gắng đóng một bảng tính chưa lưu, cho phép họ lưu lại trước khi đóng. Tuy nhiên, nhiều người dùng có thể thổi qua cảnh báo và vô tình nhấp vào Không, nói với Excel để đóng mà không lưu. Với macro này, bạn đang bảo vệ chống lại điều này bằng cách tự động tiết kiệm trước khi đóng.
Cách macro hoạt động
Mã được kích hoạt bởi sự kiện BeforeClose của bảng tính. Khi bạn cố gắng đóng bảng tính, sự kiện này sẽ kích hoạt, chạy mã bên trong. Điểm mấu chốt của mã là đơn giản - nó hỏi người dùng liệu họ muốn đóng sổ làm việc. Macro sau đó sẽ đánh giá liệu người dùng có nhấp vào OK hay Hủy.
Việc đánh giá được thực hiện với một câu lệnh Select Case. Báo cáo Chọn trường hợp là một sự thay thế cho câu lệnh If-Then-Else, cho phép bạn thực hiện kiểm tra điều kiện trong macro của bạn. Xây dựng cơ bản của câu lệnh Select Case là đơn giản:
Chọn Case Case = Case Is = Case Is = Cuối Chọn
Với câu lệnh Select Case, bạn có thể thực hiện nhiều kiểm tra có điều kiện. Trong trường hợp này, bạn chỉ cần kiểm tra OK hoặc Cancel. Hãy xem mã:
Trong bước 1, bạn kích hoạt hộp thông báo như là kiểm tra điều kiện cho câu lệnh Select Case. Bạn sử dụng đối số vbOKCancel để đảm bảo rằng các nút OK và Cancel được trình bày dưới dạng các lựa chọn.Ở bước 2, nếu người dùng nhấp vào Huỷ trong hộp thông điệp, macro cho biết Excel để hủy bỏ sự kiện Workbook_Close bằng cách chuyển True thành Hủy bỏ Boolean.
Nếu người dùng nhấp vào nút OK trong hộp thư, Bước 3 sẽ có hiệu lực. Ở đây, bạn cho Excel biết để lưu bảng tính. Và bởi vì bạn đã không thiết lập các Hủy bỏ Boolean để True, Excel vẫn tiếp tục đóng.
Ở bước 4, bạn chỉ cần đóng báo cáo Chọn trường hợp. Mỗi khi bạn khởi tạo Trường hợp chọn, bạn phải đóng nó lại bằng Lựa chọn Cuối tương ứng.
Cách sử dụng macro
Để thực hiện macro này, bạn cần sao chép và dán nó vào cửa sổ mã sự kiện Workbook_BeforeClose. Đặt macro ở đó cho phép nó chạy mỗi lần bạn cố gắng đóng bảng tính:
Kích hoạt Visual Basic Editor bằng cách nhấn Alt + F11.
-
Trong cửa sổ dự án, tìm tên dự án / workbook của bạn và nhấp vào dấu cộng bên cạnh để xem tất cả các trang tính.
-
Nhấp vào ThisWorkbook.
-
Trong danh sách Sự kiện thả xuống, chọn sự kiện BeforeClose.
-
Nhập hoặc dán mã vào mô-đun mới tạo.
-
Nhập mã của bạn trong sự kiện Workbook BeforeClose.