Đô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.

pasted image 0 (1)

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?

image 29

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]

Tải xuống tệp

Bài viết liên quan:

Bài viết phổ biến: