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 |