Note: The other languages of the website are Google-translated. Back to English

Làm thế nào để xóa trang tính dựa trên giá trị ô trong Excel?

Giả sử, tôi có nhiều trang tính trong một sổ làm việc, bây giờ, tôi muốn xóa các trang tính dựa trên giá trị ô. Ví dụ: nếu ô A1 cụ thể chứa văn bản “KTE”, tất cả các trang tính mà ô A1 có văn bản này cần được xóa cùng một lúc. Bài viết này có thể giúp bạn giải quyết công việc này trong Excel.

Xóa trang tính dựa trên giá trị ô với mã VBA


mũi tên màu xanh bong bóng bên phải Xóa trang tính dựa trên giá trị ô với mã VBA

Sau đây, mình sẽ giới thiệu một đoạn mã để bạn xóa tất cả các sheet mà ô cụ thể có giá trị nhất định, hãy làm như sau:

1. Giữ phím tắt ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Xóa trang tính dựa trên giá trị ô:

Sub deletesheetbycell()
'Updateby Extendoffice
    Dim shName As String
    Dim xName As String
    Dim xWs As Worksheet
    Dim cnt As Integer
    shName = Application.InputBox("Input the text to delete the sheets based on:", "Kutools for Excel", _
                                    "", , , , , 2)
    Application.DisplayAlerts = False
    cnt = 0
    For Each xWs In ThisWorkbook.Sheets
        If xWs.Range("A1").Value = shName Then
            xWs.delete
            cnt = cnt + 1
        End If
    Next xWs
    Application.DisplayAlerts = True
    MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

Chú thích: Trong đoạn mã trên, A1 là ô cụ thể chứa văn bản nhất định mà bạn muốn xóa các trang tính dựa trên.

3. Sau đó nhấn F5 để chạy mã này và một hộp nhắc xuất hiện để nhắc bạn nhập giá trị cụ thể mà bạn muốn xóa các trang tính dựa trên, xem ảnh chụp màn hình:

doc xóa trang tính theo ô 1

4. Và sau đó nhấp vào OK , tất cả các trang tính mà ô A1 có văn bản KTE đã bị xóa cùng một lúc. Xem ảnh chụp màn hình:

doc xóa trang tính theo ô 2


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (4)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
câu hỏi nhanh, đoạn mã trên phù hợp với tôi để xóa các trang tính chứa giá trị được nhập, nhưng nếu tôi muốn xóa các trang tính không chứa giá trị đã nhập thì sao. Tôi đã thử thay thế toán tử "=" bằng toán tử <> ", nhưng nó không hoạt động. Cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
ankur,
Như bạn đã nói, bạn chỉ cần thay đổi "=" thành "<>" như mã dưới đây:

Sub deletesheetbycell ()
Dim shName dưới dạng chuỗi
Dim xName dưới dạng chuỗi
Làm mờ xWs dưới dạng trang tính
Dim cnt dưới dạng số nguyên
shName = Application.InputBox ("Nhập văn bản không xóa trang tính dựa trên:", "Kutools cho Excel", _
"",,,, 2)
Application.DisplayAlerts = Sai
cnt = 0
Đối với mỗi xW trong ThisWorkbook.Sheets
Nếu xWs.Range ("A1"). Giá trị <> shName Thì
xWs.Xóa
cnt = cnt + 1
Cuối Nếu
XWs tiếp theo
Ứng dụng.DisplayAlerts = Đúng
MsgBox "Đã xóa" & cnt & "trang tính", vbInformation, "Kutools cho Excel"
End Sub

Hãy cố gắng, hy vọng nó có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào buổi trưa,
Bạn có thể cho tôi biết nếu có cách nào để tự động trả lời có khi được nhắc xóa trang tính không? Cảm ơn rất nhiều.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào một lần nữa, Đừng bận tâm về câu hỏi cuối cùng của tôi. Tôi đã thêm phần sau vào trước và sau dòng Xóa: Application.DisplayAlerts = False
Ứng dụng.DisplayAlerts = Đúng

Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL