VBA Xóa hoặc Xóa trang tính

Hướng dẫn này sẽ dạy bạn cách xóa hoặc xóa một trang tính bằng VBA.

Xóa trang tính

Sử dụng lệnh xóa để xóa một trang tính.

Xóa trang tính theo tên

1 Trang tính ("Trang 1"). Xóa

Xóa trang tính theo số chỉ mục

Mã này xóa trang tính đầu tiên trong sổ làm việc:

1 Trang tính (1) .Xóa

Mã này xóa trang tính cuối cùng trong sổ làm việc:

1 Trang tính (Sheets.Count) .Xóa

Xóa trang tính mà không cần lời nhắc

Khi bạn cố gắng xóa một trang tính, Excel sẽ yêu cầu bạn xác nhận hành động của mình:

Bạn có thể tắt các lời nhắc này (cảnh báo) bằng cách chuyển đổi DisplayAlerts:

123 Application.DisplayAlerts = FalseTrang tính ("Trang 1"). XóaApplication.DisplayAlerts = True

Xóa trang tính nếu nó tồn tại

Nếu bạn cố gắng xóa một trang tính không tồn tại, VBA sẽ tạo ra lỗi. Với On Error Resume Next, bạn có thể yêu cầu VBA xóa một trang tính nếu nó tồn tại, nếu không, hãy chuyển sang dòng mã tiếp theo:

123 Khi có lỗi Tiếp tục tiếp theoTrang tính ("Trang 1"). XóaLỗi GoTo 0

Bạn cũng có thể sử dụng hàm RangeExists của chúng tôi để kiểm tra xem một trang tính có tồn tại hay không và nếu có thì hãy xóa nó:

123 If RangeExists ("Sheet1") Sau đóTrang tính ("Trang 1"). XóaKết thúc nếu

Xóa trang tính

Mã này sẽ xóa toàn bộ trang nội dung, định dạng và mọi thứ khác:

1 Trang tính ("Trang 1"). Cells.Clear

Xóa nội dung trang tính

Mã này sẽ xóa toàn bộ nội dung của trang tính. Nó sẽ để lại định dạng, nhận xét và mọi thứ khác một mình:

1 Sheets ("Sheet1"). Cells.ClearContents

Xóa trang tính được sử dụng

Các ví dụ trên sẽ xóa TẤT CẢ các ô trong một trang tính. Điều này có thể rất tốn thời gian đối với các tờ lớn. Nếu bạn sử dụng usedRange thay thế, VBA sẽ chỉ xóa các ô “đã sử dụng” có chứa giá trị, định dạng, v.v.

1 Trang tính ("Trang 1"). UsedRange.Clear
wave wave wave wave wave