Xóa mọi thứ ngoại trừ công thức (Microsoft Excel)
Roni muốn xóa mọi thứ trong trang tính ngoại trừ các ô có thể chứa công thức. Tác vụ này có thể được hoàn thành theo cách thủ công hoặc thông qua việc sử dụng macro.
Nếu bạn muốn xóa thủ công, bạn có thể làm theo các bước sau:
-
Nhấn F5. Excel sẽ hiển thị hộp thoại Đi tới. (Xem Hình 1.)
-
Nhấp vào nút Đặc biệt. Excel sẽ hiển thị hộp thoại Đi đến Đặc biệt.
(Xem Hình 2.)
-
Chọn nút radio Hằng số. Sau đó, bốn hộp kiểm trong tùy chọn Công thức sẽ trở nên khả dụng. (Điều này có thể hơi khó hiểu. Tại sao Microsoft làm cho nút radio Constants điều khiển một số hộp kiểm dưới một nút radio khác thì không rõ ràng ngay lập tức.)
-
Đảm bảo rằng tất cả các hộp kiểm dưới nút radio Công thức đã được chọn. (Chúng phải được chọn theo mặc định.)
-
Bấm OK. Excel chọn tất cả các hằng số (ô không chứa công thức) trong trang tính.
-
Bấm phím Del.
Điều này hoạt động tốt nếu bạn chỉ cần xóa nội dung không phải công thức của trang tính một lần. Nếu bạn cần làm điều đó thường xuyên hơn, thì bạn có thể chỉ cần sử dụng trình ghi macro để ghi lại các bước trên. Hoặc, nếu muốn, bạn có thể tạo macro của riêng mình từ đầu, chẳng hạn như macro sau:
Sub ClearAllButFormulas() Dim wks As Worksheet 'ignore errors in case there is only formulas On Error Resume Next For Each wks In Worksheets wks.Cells.SpecialCells(xlCellTypeConstants).ClearContents Next On Error GoTo 0 Set wks = Nothing End Sub
Macro này đặc biệt hữu ích nếu bạn cần xóa tất cả các ô không phải công thức trong toàn bộ sổ làm việc. Lý do là vì nó thực hiện việc xóa trên mọi trang tính trong toàn bộ sổ làm việc mà bạn không cần phải xóa theo cách thủ công.
Bạn nên thận trọng khi sử dụng macro này. Đảm bảo rằng bạn thực sự muốn xóa mọi thứ ngoại trừ các ô chứa công thức trong trang tính hoặc sổ làm việc trước khi chạy macro này. Sẽ thật tiếc nếu vô tình loại bỏ nội dung của các ô mà bạn thực sự cần giữ lại. Nếu bạn hơi băn khoăn về khả năng như vậy, bạn có thể muốn sử dụng phiên bản sau của macro:
Sub ClearAllButFormulas2() Dim wks As Worksheet Dim sTemp As String Dim iCheck As Integer sTemp = "This macro deletes everything in the current " sTemp = sTemp & "workbook except formulas. Once done, " sTemp = sTemp & "it cannot be undone." & vbCrLf & vbCrLf sTemp = sTemp & "Are you sure you want to continue?" iCheck = MsgBox(sTemp, vbYesNo + vbExclamation, "Warning!") If iCheck = vbYes Then 'ignore errors in case there is only formulas On Error Resume Next For Each wks In Worksheets wks.Cells.SpecialCells(xlCellTypeConstants).ClearContents Next On Error GoTo 0 Else MsgBox "Operation cancelled." End If End Sub
Phiên bản này hiển thị một hộp thông báo hỏi bạn có chắc chắn muốn thực hiện việc xóa không. Kết quả là bạn có ít khả năng làm lộn xộn sổ làm việc của mình một cách tình cờ.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (9097) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: