Có thể bạn quan tâm: Cách Xóa Tất Cả Các Bình Luận (comments) Trong Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
Mở Đầu
Excel là một trong những công cụ mạnh mẽ nhất để quản lý, phân tích và trình bày dữ liệu. Khi làm việc với các file Excel phức tạp, chúng ta thường tạo ra rất nhiều sheet (bảng tính) để tách biệt các phần dữ liệu, thực hiện các phép tính, hoặc lưu trữ thông tin tạm thời. Tuy nhiên, trong quá trình làm việc, việc này cũng có thể dẫn đến tình trạng “bị lộn xộn” với hàng chục, thậm chí hàng trăm sheet không còn cần thiết. Việc xóa các sheet không cần thiết không chỉ giúp file Excel gọn gàng hơn mà còn cải thiện hiệu suất làm việc, giảm thời gian mở file và tránh những nhầm lẫn không đáng có.
Trong bài viết này, chúng tôi sẽ cung cấp cho bạn một hướng dẫn chi tiết, đầy đủ và dễ hiểu về cách delete multiple sheets in Excel (xóa nhiều sheet cùng lúc). Bài viết sẽ bao gồm:
- Các phương pháp xóa sheet truyền thống trong giao diện người dùng (GUI) của Excel.
- Cách sử dụng phím tắt và chuột để nhanh chóng xóa nhiều sheet.
- Hướng dẫn xóa sheet bằng VBA (Visual Basic for Applications) – giải pháp mạnh mẽ cho các tác vụ lặp lại.
- Cách xóa sheet dựa trên tiêu chí (tên sheet, màu sắc, trạng thái ẩn/hiện, v.v.).
- Các lưu ý quan trọng để tránh mất dữ liệu quan trọng.
- Các mẹo tối ưu hoá file Excel sau khi xóa sheet.
Hãy cùng khám phá chi tiết từng bước để bạn có thể tự tin quản lý và dọn dẹp các file Excel của mình một cách hiệu quả nhất.
Có thể bạn quan tâm: Độ Cao Hàng Mặc Định Trong Excel: Tổng Quan Và Cách Điều Chỉnh Chính Xác
1. Xóa Nhiều Sheet Bằng Giao Diện Người Dùng (GUI)
1.1. Chọn Nhiều Sheet Bằng Cách Click Chuột
Đây là cách đơn giản nhất và thường được sử dụng bởi người dùng không quen với lập trình.
Bước 1: Mở file Excel chứa các sheet bạn muốn xóa.
Bước 2: Đặt con trỏ chuột lên tab của sheet đầu tiên bạn muốn xóa. Nhấn Ctrl (hoặc Cmd trên Mac) và giữ nó.
Bước 3: Khi giữ phím Ctrl, click vào các tab sheet khác mà bạn muốn xóa. Các sheet được chọn sẽ được tô sáng (thường là màu xám hoặc xanh nhạt tùy phiên bản Excel).
Bước 4: Sau khi đã chọn đủ các sheet, chuột phải vào một trong các tab đã chọn và chọn Delete (Xóa) trong menu ngữ cảnh xuất hiện.
Bước 5: Một hộp thoại xác nhận sẽ xuất hiện, hỏi bạn có chắc chắn muốn xóa các sheet đã chọn không. Nhấn OK để hoàn tất.
Lưu ý: Excel sẽ không cho phép xóa nếu trong danh sách các sheet được chọn có sheet mặc định (thường là “Sheet1”, “Sheet2”, “Sheet3”) và không có sheet nào còn lại. Trước khi xóa, hãy chắc chắn rằng có ít nhất một sheet còn lại trong workbook.
1.2. Chọn Nhiều Sheet Bằng Cách Kéo Chuột
Nếu các sheet cần xóa nằm liền kề nhau, bạn có thể sử dụng thao tác kéo chuột.
Cách thực hiện:
- Click vào tab của sheet đầu tiên.
- Giữ Shift và click vào tab của sheet cuối cùng trong dãy cần xóa. Tất cả các sheet nằm giữa sẽ được chọn tự động.
- Thực hiện các bước 4‑5 như trong phần 1.1 để xóa.
1.3. Xóa Nhiều Sheet Trong Một Lần Bằng Ribbon
Excel cũng cung cấp tùy chọn xóa nhiều sheet thông qua Ribbon.
Các bước thực hiện:
- Chọn các sheet cần xóa (theo cách 1.1 hoặc 1.2).
- Vào thẻ Home → nhóm Cells → Delete → Delete Sheet.
- Xác nhận trong hộp thoại hiện ra.
1.4. Khi Nào Nên Sử Dụng Phương Pháp GUI?
- Khi số lượng sheet cần xóa không quá nhiều (dưới 20‑30 sheet).
- Khi bạn muốn kiểm tra lại từng sheet một cách trực quan.
- Khi không có nhu cầu tự động hoá hoặc lặp lại quá trình xóa trong nhiều file.
Có thể bạn quan tâm: Datanumen Excel Repair Full Crack – Giải Pháp Khôi Phục File Excel Bị Hỏng Một Cách Hoàn Toàn
2. Sử Dụng Phím Tắt Để Xóa Nhiều Sheet
Nếu bạn là người dùng thích làm việc nhanh bằng bàn phím, có một số phím tắt giúp bạn thực hiện việc xóa sheet một cách nhanh chóng.
2.1. Phím Tắt Cơ Bản
- Alt + H + D + S (trong Excel tiếng Anh) hoặc Alt + H + X + S (trong một số phiên bản) mở hộp thoại Delete Sheet cho sheet hiện tại.
- Đối với nhiều sheet, bạn vẫn cần chọn chúng trước (bằng Ctrl + Click hoặc Shift + Click), sau đó sử dụng phím tắt trên để xóa.
2.2. Tạo Macro Gán Nút Tắt
Bạn có thể tạo một macro đơn giản để xóa các sheet đã chọn và gán cho một phím tắt tùy chỉnh.
Sub DeleteSelectedSheets() Dim ws As Worksheet 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
- Bước 1: Mở Developer → Visual Basic → Insert → Module, dán đoạn mã trên.
- Bước 2: Đóng cửa sổ VBA, quay lại Excel.
- Bước 3: Vào File → Options → Customize Ribbon → Keyboard shortcuts: Customize.
- Chọn Macros, tìm DeleteSelectedSheets, gán phím tắt (ví dụ: Ctrl + Shift + D).
Sau khi gán, bạn chỉ cần chọn các sheet cần xóa và nhấn phím tắt để thực hiện ngay lập tức.
3. Xóa Nhiều Sheet Bằng VBA (Visual Basic for Applications)
Với các file Excel lớn, việc xóa nhiều sheet bằng tay có thể tốn thời gian và dễ gây nhầm lẫn. VBA cung cấp một giải pháp mạnh mẽ, linh hoạt và có thể tự động hoá hoàn toàn quá trình.
3.1. Xóa Tất Cả Sheet Trừ Sheet Đang Hoạt Động
Đôi khi bạn muốn giữ lại một sheet duy nhất (ví dụ: sheet “Dashboard”) và xóa toàn bộ các sheet còn lại.
Sub DeleteAllExceptActive() Dim ws As Worksheet Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Name <> ActiveSheet.Name Then ws.Delete Next ws Application.DisplayAlerts = True
End Sub
Giải thích:
Application.DisplayAlerts = Falsetắt thông báo xác nhận xóa, giúp macro chạy trơn tru.- Vòng lặp
For Eachduyệt qua mọi sheet trong workbook. - Điều kiện
If ws.Name <> ActiveSheet.Namebảo đảm chỉ xóa những sheet không phải là sheet đang hoạt động.
3.2. Xóa Sheet Dựa Trên Danh Sách Tên
Nếu bạn có một danh sách các tên sheet cần xóa (có thể nằm trong một sheet “List”), bạn có thể dùng đoạn mã sau:
Sub DeleteSheetsFromList() Dim ws As Worksheet, rng As Range, cell As Range Dim deleteNames As Collection Set deleteNames = New Collection ' Giả sử danh sách tên sheet nằm ở Sheet "List" cột A Set rng = ThisWorkbook.Worksheets("List").Range("A1", _ ThisWorkbook.Worksheets("List").Cells(Rows.Count, 1).End(xlUp)) For Each cell In rng If Len(cell.Value) > 0 Then deleteNames.Add cell.Value Next cell Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets On Error Resume Next For Each name In deleteNames If ws.Name = name Then ws.Delete Next name On Error GoTo 0 Next ws Application.DisplayAlerts = True
End Sub
Lưu ý:
- Đảm bảo danh sách không chứa lỗi chính tả hoặc khoảng trắng thừa.
- Tập tin “List” không nên bị xóa trong quá trình thực hiện.
3.3. Xóa Sheet Dựa Trên Tiêu Chí Định Dạng (Màu Nền Tab)
Bạn có thể đánh dấu các sheet cần xóa bằng cách thay đổi màu nền của tab (ví dụ: màu đỏ). Sau đó dùng VBA để xóa các sheet có màu nền tương ứng.

Có thể bạn quan tâm: Xóa Dòng Trống Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Sub DeleteSheetsByTabColor() Dim ws As Worksheet Dim targetColor As Long ' Màu đỏ (RGB 255,0,0) targetColor = RGB(255, 0, 0) Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Tab.Color = targetColor Then ws.Delete Next ws Application.DisplayAlerts = True
End Sub
3.4. Xóa Sheet Ẩn (Hidden Sheets)
Đôi khi các sheet ẩn được dùng để lưu trữ dữ liệu phụ trợ. Để xóa tất cả các sheet ẩn:
Sub DeleteHiddenSheets() Dim ws As Worksheet Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Visible = xlSheetHidden Then ws.Delete Next ws Application.DisplayAlerts = True
End Sub
Nếu bạn muốn xóa cả những sheet được ẩn ở mức Very Hidden (được đặt qua VBA), thay xlSheetHidden bằng xlSheetVeryHidden.
3.5. Xóa Sheet Dựa Trên Nội Dung Ô
Ví dụ: Xóa các sheet mà ô A1 chứa từ “DELETE”.
Sub DeleteSheetsByCellValue() Dim ws As Worksheet Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If UCase(ws.Range("A1").Value) = "DELETE" Then ws.Delete Next ws Application.DisplayAlerts = True
End Sub
3.6. Tối Ưu Hóa Mã VBA
- Bảo vệ dữ liệu quan trọng: Trước khi chạy bất kỳ macro nào, hãy sao lưu file.
- Sử dụng
Application.ScreenUpdating = Falseđể giảm thời gian thực thi khi làm việc với file lớn. - Kiểm tra lỗi: Thêm
On Error GoTo ErrHandlerđể xử lý các trường hợp sheet không tồn tại hoặc đang bảo vệ bằng mật khẩu.
Sub DeleteSheetsSafely() On Error GoTo ErrHandler Dim ws As Worksheet Application.ScreenUpdating = False Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Dashboard" Then ws.Delete Next ws CleanExit: Application.DisplayAlerts = True Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBox "Có lỗi xảy ra: " & Err.Description, vbCritical Resume CleanExit
End Sub
4. Các Tiêu Chí Nâng Cao Để Xóa Sheet
4.1. Xóa Sheet Dựa Trên Độ Lớn File (Size)
Nếu bạn muốn loại bỏ các sheet chiếm quá nhiều bộ nhớ (ví dụ: > 5 MB), bạn có thể dùng VBA để kiểm tra kích thước bộ nhớ:
Function SheetSizeInKB(ws As Worksheet) As Long Dim tempWB As Workbook Set tempWB = Workbooks.Add(xlWBATWorksheet) ws.Copy Before:=tempWB.Sheets(1) SheetSizeInKB = tempWB.FileFormat tempWB.Close SaveChanges:=False
End Function Sub DeleteLargeSheets() Dim ws As Worksheet, sizeKB As Long Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets sizeKB = SheetSizeInKB(ws) / 1024 If sizeKB > 5120 Then ws.Delete ' >5 MB Next ws Application.DisplayAlerts = True
End Sub
Chú ý: Phương pháp này tạo một workbook tạm thời, vì vậy chỉ nên dùng cho số lượng sheet ít.
4.2. Xóa Sheet Dựa Trên Ngày Tạo hoặc Ngày Sửa
Excel không lưu trực tiếp ngày tạo sheet, nhưng bạn có thể lưu thông tin này trong một ô (ví dụ: A1). Sau đó, dùng VBA để xóa các sheet cũ hơn một ngày nhất định.
Sub DeleteSheetsOlderThan(days As Long) Dim ws As Worksheet, createDate As Date Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets On Error Resume Next createDate = CDate(ws.Range("A1").Value) If Err.Number = 0 Then If DateDiff("d", createDate, Date) > days Then ws.Delete End If On Error GoTo 0 Next ws Application.DisplayAlerts = True
End Sub ' Gọi macro: DeleteSheetsOlderThan 30 ' Xóa các sheet cũ hơn 30 ngày
4.3. Xóa Sheet Dựa Trên Công Thức Tính Toán
Nếu một sheet chỉ chứa công thức mà không có giá trị thực tế, bạn có thể dùng VBA để kiểm tra UsedRange và loại bỏ các sheet “trống”.
Sub DeleteEmptySheets() Dim ws As Worksheet Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If Application.WorksheetFunction.CountA(ws.UsedRange) = 0 Then ws.Delete Next ws Application.DisplayAlerts = True
End Sub
5. Lưu Ý Quan Trọng Khi Xóa Sheet
- Luôn Sao Lưu Trước Khi Thực Hiện: Dù bạn có dùng VBA hay thao tác thủ công, việc sao lưu file (.xlsx) hoặc tạo bản sao dưới dạng .xlsb/.xlsm là điều cần thiết.
- Kiểm Tra Độ Phụ Thuộc (Dependencies): Một sheet có thể chứa công thức tham chiếu tới sheet khác. Xóa sheet mà các công thức còn phụ thuộc có thể gây lỗi
#REF!. Trước khi xóa, hãy kiểm traFormulastrong các sheet còn lại. - Bảo Vệ Sheet Bằng Mật Khẩu: Nếu sheet đang được bảo vệ, bạn cần mở bảo vệ trước khi xóa. Thêm đoạn mã VBA:
vba ws.Unprotect Password:="mypassword" ws.Delete
- Không Xóa Sheet Mặc Định Khi Chỉ Còn Một Sheet: Excel yêu cầu ít nhất một sheet tồn tại trong workbook. Nếu bạn muốn workbook trống, hãy tạo một sheet “Placeholder” rồi xóa sau khi hoàn tất các thao tác khác.
- Cẩn Thận Với
Application.DisplayAlerts = False: Khi tắt cảnh báo, bạn sẽ không nhận được thông báo về lỗi hoặc xung đột. Đảm bảo bật lại (True) sau khi hoàn thành.
6. Tối Ưu Hóa File Sau Khi Xóa Sheet
Sau khi đã dọn dẹp các sheet không cần thiết, file Excel vẫn có thể còn “cứu” phần dữ liệu cũ trong bộ nhớ. Dưới đây là một số cách để giảm kích thước file và tăng tốc độ mở:
6.1. Lưu Dưới Định Dạng Binary (.xlsb)
Định dạng Excel Binary Workbook (.xlsb) thường có kích thước nhỏ hơn so với .xlsx, đặc biệt là khi file chứa nhiều dữ liệu và công thức.
- File → Save As → Excel Binary Workbook (.xlsb)
6.2. Xóa Các Định Dạng Không Cần Thiết
- Clear Formats: Chọn toàn bộ sheet → Home → Editing → Clear → Clear Formats.
- Remove Unused Styles: Vào Home → Cell Styles, xóa các style không cần.
6.3. Xóa Các Đối Tượng (Shapes, Charts, Images) Không Dùng
Sử dụng VBA để xóa các đối tượng không cần thiết:
Sub DeleteUnusedObjects() Dim ws As Worksheet, shp As Shape For Each ws In ThisWorkbook.Worksheets For Each shp In ws.Shapes If shp.Type = msoPicture Or shp.Type = msoChart Then shp.Delete End If Next shp Next ws
End Sub
6.4. Kiểm Tra và Loại Bỏ Các Tên Định Dạng (Named Ranges) Không Còn Sử Dụng
Sub DeleteUnusedNames() Dim n As Name For Each n In ThisWorkbook.Names If n.RefersToRange Is Nothing Then n.Delete Next n
End Sub
6.5. Sử Dụng Compress Pictures
Nếu file chứa hình ảnh, chọn File → Options → Advanced → Image Size and Quality → Do not compress images in file (đánh dấu) hoặc Compress Pictures để giảm kích thước.
7. Thực Hành: Kịch Bản Xóa Nhiều Sheet Thực Tế
Giả sử bạn là một nhà phân tích tài chính và có một workbook chứa:
- Sheet “Summary” (bảng tổng hợp).
- 30 sheet “Month_01” … “Month_30” (dữ liệu chi tiết của từng tháng).
- Sheet “TempData” (dữ liệu tạm thời, không cần lưu).
- Sheet “Archive” (được dùng để lưu dữ liệu cũ).
Bạn muốn:
- Giữ lại “Summary” và “Archive”.
- Xóa tất cả các sheet “Month_” và “TempData”.
- Sau khi xóa, giảm kích thước file và lưu dưới dạng .xlsb.
Bước 1: Tạo macro xóa theo pattern tên:
Sub CleanFinancialWorkbook() Dim ws As Worksheet Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Name Like "Month_" Or ws.Name = "TempData" Then ws.Delete Next ws Application.DisplayAlerts = True ' Lưu dưới dạng .xlsb ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\FinancialReport.xlsb", _ FileFormat:=xlExcel12
End Sub
Bước 2: Chạy macro (Alt + F8 → chọn CleanFinancialWorkbook → Run).
Sau khi hoàn thành, bạn sẽ có một file gọn gàng, chỉ còn “Summary” và “Archive”, kích thước giảm đáng kể và sẵn sàng chia sẻ.
8. Tổng Kết
Việc delete multiple sheets in Excel không chỉ là một thao tác đơn giản mà còn là một phần quan trọng trong quản lý dữ liệu hiệu quả. Từ những cách thực hiện nhanh chóng bằng giao diện người dùng, phím tắt, đến các giải pháp tự động hoá bằng VBA, bạn có thể lựa chọn phương pháp phù hợp với nhu cầu và quy mô công việc của mình.
- GUI thích hợp cho những lần xóa nhanh, số lượng ít.
- Phím tắt và macro giúp tăng tốc độ cho các tác vụ lặp lại.
- VBA là công cụ mạnh mẽ để xóa hàng chục, hàng trăm sheet dựa trên tiêu chí phức tạp (tên, màu sắc, trạng thái ẩn, nội dung ô, kích thước, ngày tạo, v.v.).
- Lưu ý luôn sao lưu dữ liệu, kiểm tra phụ thuộc và bật lại cảnh báo sau khi thực hiện.
- Tối ưu hoá file sau khi xóa giúp giảm kích thước, cải thiện hiệu suất và tránh lỗi.
Hy vọng bài viết này đã cung cấp cho bạn toàn bộ kiến thức cần thiết để dọn dẹp và quản lý workbook Excel một cách chuyên nghiệp. Hãy áp dụng ngay các bước trên để trải nghiệm một môi trường làm việc sạch sẽ, nhanh chóng và hiệu quả hơn!

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ẻ.
