Có thể bạn quan tâm: Cách Tạo Biểu Đồ Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Lời mở đầu
Excel là một trong những công cụ phổ biến nhất trong môi trường văn phòng, được sử dụng để quản lý dữ liệu, thực hiện các phép tính phức tạp và tạo báo cáo. Khi làm việc với những tệp Excel lớn, chúng ta thường tạo ra nhiều sheet (bảng tính) để phân chia dữ liệu theo các tiêu chí khác nhau – tháng, khu vực, dự án, v.v. Tuy nhiên, trong quá trình làm việc, việc này cũng dẫn đến một lượng lớn các sheet không còn cần thiết, gây lộn xộn và làm chậm hiệu suất làm việc. Do đó, việc biết cách xóa nhiều sheet trong Excel một cách nhanh chóng, an toàn và hiệu quả là một kỹ năng quan trọng mà mọi người dùng Excel cần nắm vững.
Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ các cách xóa sheet cơ bản sử dụng giao diện người dùng (GUI), đến các phương pháp nâng cao sử dụng phím tắt, macro VBA và Power Query. Ngoài ra, chúng tôi cũng sẽ đề cập đến các lưu ý quan trọng để tránh mất mát dữ liệu không mong muốn và cách bảo vệ workbook khi thực hiện các thao tác xóa hàng loạt.
Có thể bạn quan tâm: Cách Dùng Hàm Sumifs Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Tổng quan về sheet trong Excel
1.1 Sheet là gì?
- Worksheet (bảng tính): Là một trang làm việc trong Excel, bao gồm các ô (cell) được sắp xếp thành hàng và cột. Mỗi sheet có thể chứa dữ liệu, công thức, biểu đồ, hình ảnh, v.v.
- Workbook (sổ làm việc): Là tập tin Excel (.xlsx, .xls) chứa một hoặc nhiều sheet. Bạn có thể mở, lưu, và chia sẻ workbook như một tài liệu duy nhất.
1.2 Lý do cần xóa nhiều sheet
- Giảm kích thước file: Nhiều sheet rỗng hoặc không cần thiết sẽ làm tăng dung lượng file, gây chậm khi mở, lưu hoặc chia sẻ.
- Tối ưu hoá cấu trúc: Giúp người dùng và đồng nghiệp dễ dàng tìm kiếm và làm việc trên các sheet quan trọng.
- Bảo mật: Loại bỏ các sheet chứa thông tin nhạy cảm trước khi gửi file cho người khác.
Có thể bạn quan tâm: Cách Cố Định Dòng Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Cách xóa nhiều sheet bằng giao diện người dùng (GUI)
2.1 Xóa sheet từng cái một (cơ bản)
- Chọn sheet: Nhấp chuột phải vào tab sheet ở phía dưới.
- Chọn “Delete”: Trong menu ngữ cảnh, chọn “Delete”.
- Xác nhận: Nếu có thông báo cảnh báo, nhấn “OK”.
Lưu ý: Khi xóa một sheet, Excel sẽ hiển thị cảnh báo “Bạn có chắc muốn xóa Sheet1 không?”. Nếu workbook được bảo vệ bằng mật khẩu, bạn sẽ không thể xóa sheet trừ khi biết mật khẩu.
2.2 Xóa nhiều sheet đồng thời (cách nhanh nhất)
Bước 1: Chọn các sheet cần xóa
- Cách 1 – Giữ phím Ctrl: Giữ phím
Ctrlvà nhấp chuột vào từng tab sheet mà bạn muốn xóa. Các sheet được chọn sẽ có màu nền đậm hơn. - Cách 2 – Giữ phím Shift: Nhấp vào tab sheet đầu tiên, sau đó giữ phím
Shiftvà nhấp vào tab sheet cuối cùng trong dải muốn xóa. Tất cả các sheet nằm giữa sẽ được chọn. - Cách 3 – Chọn tất cả sheet: Nhấp chuột phải vào bất kỳ tab sheet nào, sau đó chọn “Select All Sheets”. Khi muốn xóa toàn bộ trừ một sheet, bạn có thể bỏ chọn sheet cần giữ lại bằng cách giữ
Ctrlvà nhấp vào tab của sheet đó.
Bước 2: Thực hiện xóa
- Nhấp chuột phải vào bất kỳ tab sheet đã chọn và chọn Delete.
- Xác nhận thông báo cảnh báo. Khi bạn xóa nhiều sheet cùng lúc, Excel sẽ chỉ hiện một thông báo duy nhất.
Bước 3: Kiểm tra lại
- Sau khi xóa, hãy kiểm tra lại workbook để chắc chắn rằng các sheet quan trọng không bị xóa nhầm.
- Sử dụng
Ctrl + Z(Undo) để hoàn tác nếu phát hiện lỗi ngay lập tức.
2.3 Xóa sheet bằng thanh Ribbon
- Chọn sheet(s) như ở trên.
- Vào tab Home → Nhóm Cells → Nhấn Delete → Chọn Delete Sheet.
- Xác nhận thông báo.
Ưu điểm: Phương pháp này thích hợp khi bạn đã thiết lập các tùy chỉnh thanh Ribbon hoặc muốn thực hiện thao tác nhanh mà không cần dùng chuột phải.
3. Sử dụng phím tắt để xóa nhanh sheet
Excel không có phím tắt mặc định để xóa sheet, nhưng bạn có thể tạo Custom Keyboard Shortcuts bằng cách sử dụng macro (VBA) và gán phím tắt cho macro đó. Dưới đây là hướng dẫn chi tiết.
3.1 Tạo macro xóa sheet đã chọn
- Mở cửa sổ VBA: Nhấn
Alt + F11. - Chèn module mới: Vào
Insert → Module. - Dán mã sau:
Sub DeleteSelectedSheets() Dim ws As Worksheet Dim resp As VbMsgBoxResult ' Kiểm tra có ít nhất một sheet được chọn If ActiveWindow.SelectedSheets.Count = 0 Then MsgBox "Không có sheet nào được chọn.", vbExclamation Exit Sub End If ' Cảnh báo người dùng resp = MsgBox("Bạn có chắc muốn xóa " & ActiveWindow.SelectedSheets.Count & " sheet không?" & vbCrLf & _ "Hành động này không thể hoàn tác.", vbYesNo + vbQuestion, "Xác nhận xóa") If resp = vbNo Then Exit Sub Application.DisplayAlerts = False ' Tắt thông báo xác nhận For Each ws In ActiveWindow.SelectedSheets ws.Delete Next ws Application.DisplayAlerts = True ' Bật lại thông báo
End Sub
- Lưu macro: Đóng cửa sổ VBA và quay lại Excel.
3.2 Gán phím tắt cho macro
- Vào File → Options → Customize Ribbon → Keyboard shortcuts: Customize.
- Ở mục Categories, chọn Macros.
- Chọn macro
DeleteSelectedSheets. - Trong Press new shortcut key, nhập phím tắt mong muốn, ví dụ
Ctrl + Shift + D. - Nhấn Assign, sau đó Close.
3.3 Sử dụng phím tắt
- Chọn các sheet muốn xóa (Ctrl hoặc Shift).
- Nhấn
Ctrl + Shift + D. - Xác nhận thông báo (nếu có). Các sheet sẽ bị xóa ngay lập tức.
Lưu ý: Khi sử dụng macro, hãy chắc chắn rằng workbook được lưu lại dưới định dạng hỗ trợ macro (.xlsm) để macro không bị mất.
4. Xóa nhiều sheet bằng VBA (phương pháp nâng cao)
Nếu bạn thường xuyên cần xóa một nhóm sheet theo tiêu chí nhất định (ví dụ: tất cả các sheet có tên bắt đầu bằng “Temp_” hoặc “Backup”), việc viết một macro tự động sẽ tiết kiệm thời gian đáng kể.
4.1 Xóa sheet dựa trên tên
Sub DeleteSheetsByNamePattern() Dim ws As Worksheet Dim pattern As String Dim resp As VbMsgBoxResult pattern = InputBox("Nhập phần đầu của tên sheet cần xóa (ví dụ: Temp_):", "Xóa sheet theo mẫu") If pattern = "" Then Exit Sub resp = MsgBox("Bạn có chắc muốn xóa tất cả sheet bắt đầu bằng '" & pattern & "' không?", vbYesNo + vbQuestion, "Xác nhận") If resp = vbNo Then Exit Sub Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Name Like pattern & "" Then ws.Delete Next ws Application.DisplayAlerts = True MsgBox "Hoàn thành!", vbInformation
End Sub
- Cách sử dụng: Chạy macro, nhập phần đầu của tên sheet (ví dụ: “Temp_”). Macro sẽ xóa tất cả các sheet có tên bắt đầu bằng “Temp_”.
4.2 Xóa sheet rỗng
Sub DeleteEmptySheets() Dim ws As Worksheet Dim isEmpty As Boolean Dim resp As VbMsgBoxResult resp = MsgBox("Bạn có muốn xóa tất cả sheet rỗng không?", vbYesNo + vbQuestion, "Xóa sheet rỗng") If resp = vbNo Then Exit Sub Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets isEmpty = Application.WorksheetFunction.CountA(ws.Cells) = 0 If isEmpty Then ws.Delete Next ws Application.DisplayAlerts = True MsgBox "Các sheet rỗng đã được xóa.", vbInformation
End Sub
- Giải thích:
CountAđếm số ô không rỗng. Nếu kết quả bằng 0, sheet được coi là rỗng và sẽ bị xóa.
4.3 Xóa sheet ngoại trừ một số sheet quan trọng

Có thể bạn quan tâm: Cách Viết Độ C Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Sub DeleteAllExcept() Dim ws As Worksheet Dim keepSheets As Variant Dim keep As Boolean Dim resp As VbMsgBoxResult keepSheets = Array("Data", "Summary", "Settings") ' Thêm tên sheet cần giữ lại resp = MsgBox("Bạn có muốn xóa tất cả sheet ngoại trừ: " & Join(keepSheets, ", ") & "?", vbYesNo + vbQuestion, "Xóa sheet") If resp = vbNo Then Exit Sub Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets keep = False For i = LBound(keepSheets) To UBound(keepSheets) If ws.Name = keepSheets(i) Then keep = True: Exit For Next i If Not keep Then ws.Delete Next ws Application.DisplayAlerts = True MsgBox "Hoàn thành! Đã giữ lại các sheet quan trọng.", vbInformation
End Sub
- Cách tùy chỉnh: Thêm hoặc bớt tên sheet trong mảng
keepSheetsđể xác định sheet nào sẽ không bị xóa.
4.4 Kết hợp điều kiện: Xóa sheet rỗng và có tên bắt đầu bằng “Temp_”
Sub DeleteTempEmptySheets() Dim ws As Worksheet Dim isEmpty As Boolean Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets isEmpty = Application.WorksheetFunction.CountA(ws.Cells) = 0 If ws.Name Like "Temp_" And isEmpty Then ws.Delete Next ws Application.DisplayAlerts = True MsgBox "Các sheet rỗng có tên bắt đầu bằng 'Temp_' đã được xóa.", vbInformation
End Sub
- Ứng dụng: Thường dùng trong các dự án tự động tạo sheet tạm thời để lưu dữ liệu trung gian, sau khi hoàn thành, chúng cần được dọn dẹp.
4.5 Lưu ý khi chạy macro VBA
- Sao lưu file: Trước khi chạy bất kỳ macro nào xóa sheet, luôn sao lưu workbook để tránh mất dữ liệu quan trọng.
- Bảo mật macro: Nếu workbook được chia sẻ, hãy ký số macro hoặc thông báo cho người dùng về macro để tránh cảnh báo bảo mật.
- DisplayAlerts: Khi đặt
Application.DisplayAlerts = False, Excel sẽ không hiển thị bất kỳ thông báo nào, vì vậy hãy chắc chắn rằng logic của macro đã được kiểm tra kỹ.
5. Xóa nhiều sheet bằng Power Query (Get & Transform)
Power Query thường được sử dụng để nhập, làm sạch và biến đổi dữ liệu. Mặc dù không phải là công cụ trực tiếp để xóa sheet, nhưng bạn có thể tự động loại bỏ sheet không cần thiết khi tải dữ liệu từ một workbook.
5.1 Các bước thực hiện
- Mở Power Query: Vào
Data → Get Data → From File → From Workbook. - Chọn file Excel và nhấn
Import. - Trong Navigator, bạn sẽ thấy danh sách các sheet và bảng trong workbook.
- Bỏ chọn các sheet không cần (bằng cách bỏ tick), chỉ để lại các sheet bạn muốn tải.
- Nhấn Load hoặc Load To… để đưa dữ liệu vào một sheet mới hoặc vào Data Model.
Lợi ích: Khi bạn chỉ tải những sheet cần thiết, các sheet không được tải sẽ không ảnh hưởng đến kích thước file và không xuất hiện trong workbook mới.
5.2 Tự động cập nhật khi sheet thay đổi
Bạn có thể tạo một query để liệt kê tất cả các sheet, sau đó sử dụng filter để loại bỏ các sheet không mong muốn và tạo một parameter để xác định danh sách sheet cần giữ. Khi workbook nguồn thay đổi, chỉ cần refresh query để cập nhật.
6. Các vấn đề bảo mật và sao lưu khi xóa sheet
6.1 Bảo vệ workbook (Protect Workbook)
- Protect Structure: Khi workbook được bảo vệ (File → Info → Protect Workbook → Protect Structure), người dùng không thể thêm, xóa hoặc đổi tên sheet mà không có mật khẩu.
- Cách tắt bảo vệ: Vào
Review → Unprotect Workbook, nhập mật khẩu nếu có.
6.2 Khi nào nên tạo backup trước khi xóa?
- Thực hiện trên dữ liệu quan trọng: Nếu workbook chứa dữ liệu tài chính, khách hàng, hoặc thông tin nhạy cảm, luôn tạo bản sao lưu.
- Sử dụng “Version History”: Nếu lưu trữ trên OneDrive hoặc SharePoint, bạn có thể quay lại các phiên bản trước.
- Sao lưu tự động bằng VBA:
Sub BackupBeforeDelete() Dim backupPath As String backupPath = ThisWorkbook.Path & "\" & _ Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1) & "_Backup_" & _ Format(Now, "yyyymmdd_hhnnss") & ".xlsx" ThisWorkbook.SaveCopyAs backupPath MsgBox "Backup đã được tạo tại: " & backupPath, vbInformation
End Sub
- Thực hiện: Gọi macro này trước khi chạy bất kỳ macro xóa sheet nào.
6.3 Khôi phục sheet đã xóa
- Undo (Ctrl + Z): Chỉ hoạt động ngay sau khi xóa; nếu bạn thực hiện một hành động khác, Undo sẽ không còn hiệu lực.
- Sử dụng “Recover Unsaved Workbooks”: Nếu Excel bị treo hoặc tắt đột ngột, có thể khôi phục file tạm thời.
- Trở lại phiên bản cũ: Trên OneDrive/SharePoint, nhấp chuột phải vào file → “Version History” → Khôi phục phiên bản trước.
7. Thực hành: Kịch bản thực tế
7.1 Kịch bản 1: Dọn dẹp workbook dự án
Bạn là quản lý dự án, mỗi tuần bạn tạo sheet “Week1”, “Week2”, … “Week52” để ghi chép tiến độ. Khi dự án kết thúc, bạn muốn giữ lại chỉ Summary, Data và Charts, xóa toàn bộ các sheet tuần.
Giải pháp:
– Sử dụng macro DeleteAllExcept và nhập mảng keepSheets = Array("Summary", "Data", "Charts").
7.2 Kịch bản 2: Xóa sheet tạm thời sau khi chạy macro
Bạn có một macro tạo sheet tạm “Temp_1”, “Temp_2” để lưu trữ dữ liệu trung gian. Khi macro hoàn thành, bạn muốn tự động xóa các sheet này.
Sub MainProcess() '--- Các bước xử lý --- Call CreateTempSheets Call ProcessData Call DeleteTempEmptySheets ' Xóa các sheet tạm sau khi hoàn thành
End Sub
7.3 Kịch bản 3: Xóa tự động các sheet rỗng trong báo cáo hàng tháng
Mỗi tháng, bạn nhận một file Excel từ bộ phận kế toán, trong đó có nhiều sheet rỗng được tạo tự động. Bạn muốn một macro chạy tự động khi mở file:
Private Sub Workbook_Open() Call DeleteEmptySheets
End Sub
- Khi người dùng mở file, macro sẽ tự động xóa các sheet rỗng mà không cần thao tác thủ công.
8. Tổng kết
Việc xóa nhiều sheet trong Excel không chỉ giúp giảm kích thước file, tăng tốc độ làm việc mà còn cải thiện tính gọn gàng và bảo mật dữ liệu. Trong bài viết, chúng ta đã khám phá:
- Phương pháp GUI: Chọn nhiều sheet bằng
CtrlhoặcShiftvà xóa nhanh qua menu chuột phải hoặc Ribbon. - Phím tắt tùy chỉnh: Tạo macro VBA để xóa sheet và gán phím tắt cho thao tác nhanh.
- Macro VBA nâng cao: Xóa dựa trên tên, nội dung rỗng, hoặc giữ lại các sheet quan trọng.
- Power Query: Lọc và chỉ tải các sheet cần thiết, tránh việc lưu trữ các sheet không dùng.
- Bảo mật và sao lưu: Bảo vệ cấu trúc workbook, tạo backup tự động và khôi phục khi cần.
Hãy áp dụng những kỹ thuật trên tùy vào nhu cầu và mức độ phức tạp của dự án. Đừng quên luôn sao lưu dữ liệu trước khi thực hiện các thao tác xóa hàng loạt để tránh mất mát thông tin quan trọng. Khi bạn đã thành thạo các cách xóa sheet, công việc làm việc với Excel sẽ trở nên nhẹ nhàng, hiệu quả hơn rất nhiều.
Chúc bạn thành công!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
