Cách xóa trang tính mà không cần xác nhận Lời nhắc sử dụng VBA trong Excel
Đôi khi chúng tôi phải tạo hoặc thêm trang tính và sau đó chúng tôi không sử dụng trang tính đó, do đó chúng tôi cần phải xóa nhanh trang tính khỏi sổ làm việc. Bài viết này tập trung vào việc tiết kiệm thời gian và cung cấp mã để loại bỏ các trang tính mà không có bất kỳ thông báo nhắc nhở nào về mã / macro boxusingvba.
Nó có thể là một hoặc nhiều tờ. Và excel đưa ra một cảnh báo bật lên để xác nhận việc xóa trang tính. Nếu một tờ của nó, nó có thể quản lý được. Nhưng nếu bạn phải xóa nhiều trang tính, bạn sẽ nhận được một cửa sổ bật lên trên mỗi trang tính.
Bạn thường tạo nhiều trang tính bằng VBA. Nhưng cuối cùng, bạn thực sự không cần chúng. Bạn muốn xóa chúng sau khi công việc của bạn hoàn thành. Nó sẽ giữ cho tệp của bạn nhẹ hơn, nhanh hơn và hợp lý.
Mã VBA để xóa một trang tính rất đơn giản
Sheets("SheetName").Delete
Giả sử bạn có mã này để thêm một trang tính và sau đó xóa nó khi hoàn thành công việc.
Sub AddAndDeleteSheet() Sheets.Add 'Adds a new sheet to the active workbook '---- '---- '---- 'some work on sheet done ActiveSheet.Delete 'deletes the active Activesheet End Sub
Khi bạn thực thi mã này, Sheets.Add sẽ hoạt động mà không cần bất kỳ lời nhắc nào nhưng khi trình biên dịch đến ActiveSheet.Delete, nó sẽ nhắc một thông báo như thế này.
Vì bạn đang xóa trang tính bằng VBA nên bạn biết mình đang làm gì.
Bạn muốn yêu cầu Excel không hiển thị cảnh báo này và xóa trang tính chết tiệt.
Để làm điều này, chúng tôi sẽ tắt nút cảnh báo hiển thị của Ứng dụng Excel.
Đoạn mã dưới đây sẽ bỏ qua thông báo cảnh báo này và trang tính sẽ bị xóa mà không có bất kỳ thông tin nào.
Sub AddAndDeleteSheet() Application.DisplayAlerts = False 'switching off the alert button Sheets.Add '---- '---- '---- 'some work on sheet done ActiveSheet.Delete Application.DisplayAlerts = True 'switching on the alert button End Sub
Ở đây chúng tôi đang xóa Activesheet bằng VBA. Bạn có thể xóa bất kỳ trang tính nào bằng VBA. Chỉ cần viết Trang tính (“Tên trang tính”). Xóa. Tiếp tục …
DisplayAlerts là một thuộc tính của đối tượng Ứng dụng trong VBA. Ở đây, chúng tôi sẽ tắt nó ở đầu mã của chúng tôi và bật nó ở cuối mã. Đoạn mã trên sẽ xác nhận việc xóa mà không có bất kỳ thông tin nào.
_Lưu ý: _ * Đoạn mã trên sẽ bỏ qua tất cả các cảnh báo do excel ném ra. Nếu bạn chỉ muốn cho phép xóa trang tính hơn sử dụng dòng này .
Application.DisplayAlerts = False 'switching off the alert button ActiveSheet.Delete Application.DisplayAlerts = True 'switching on the alert button
Điều này sẽ chỉ bỏ qua cảnh báo xóa trang tính.
Pro Tip: Các dòng mã này giúp mã VBA của bạn hiệu quả hơn. Luôn sử dụng chúng ở đầu macro của bạn và bật lại chúng ở bất kỳ nơi nào mà mã của bạn dự kiến thoát khỏi quy trình . _Cảnh báo _ * : Nếu không được bật trước khi thoát khỏi chương trình con , bạn có thể không thấy bất kỳ cảnh báo nào. Ngay cả khi mã của bạn không chạy. Điều này có thể gây ra nhiều vấn đề . Nếu bạn có nhiều trang tính cần xóa và đang sử dụng vòng lặp, hãy thử mã này –
Option Explicit Sub macro2() Dim i As Long Application.DisplayAlerts = False For i = 1 to Worksheets.Count If Worksheets(i).Name Like "Test*" Then Worksheets(i).Delete Next i Application.DisplayAlerts = True End Sub
Đó là nó. Xong rôi. Nó dễ dàng như bật và tắt quạt của bạn. Phải không?
Nếu bạn thích blog của chúng tôi, hãy chia sẻ nó với bạn bè của bạn trên Facebook. Và bạn cũng có thể theo dõi chúng tôi trên Twitter và Facebook.
Chúng tôi rất muốn nghe ý kiến của bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện, bổ sung hoặc đổi mới công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi theo địa chỉ [email protected]