Steven có một trang tính có rất nhiều văn bản trong đó. Trong các ô trong cột A, anh ta muốn xóa mọi thứ có thể xảy ra trước một chuỗi ký tự nhất định, chẳng hạn như mọi thứ trước = XX =. Có thể có nhiều trường hợp của các ký tự này trong mỗi ô, nhưng Steven chỉ muốn xóa mọi thứ trước lần xuất hiện đầu tiên.

Một cách để làm điều này là sử dụng công thức. Ví dụ: công thức sau sẽ đánh giá bất kỳ thứ gì có trong ô A1 và chỉ cần trả về mọi thứ có giá trị = XX = ký tự. Nếu không tìm thấy các ký tự trong ô, thì toàn bộ ô sẽ được trả về:

=RIGHT(A1,IF(ISERROR(FIND("=XX=",A1,1)), LEN(A1),LEN(A1)-FIND("=XX=",A1,1)+1))

Thay vào đó, nếu bạn muốn không trả về lần xuất hiện đầu tiên của = XX =, tất cả những gì bạn cần làm là thay đổi +1 ở gần cuối công thức thành -3.

Nếu bạn thích một giải pháp dựa trên macro, bạn có thể sử dụng một quy trình như sau. Nó kiểm tra tất cả các ô hiện đang được chọn và sau đó xóa mọi thứ trước chuỗi = XX =.

Sub DeleteToSequence()

Dim rCell As Range     Dim sSeq As String     Dim x As Long

sSeq = "=XX="

For Each rCell In Selection         x = InStr(rCell.Value, sSeq)

If x > 0 Then             rCell.Value = Mid(rCell, x)

End If     Next

Set rCell = Nothing End Sub

Bạn nên biết rằng macro này có thể gây ra một số lỗi, đặc biệt khi những gì bạn đang tìm kiếm bắt đầu bằng dấu bằng (như trong = XX =).

Khi một chuỗi bắt đầu bằng dấu bằng được nhét trở lại ô, bạn sẽ nhận được lỗi #NAME? do Excel cố gắng phân tích cú pháp ô như thể nó chứa một công thức.

Nếu bạn muốn xóa mọi thứ thông qua chuỗi ký tự, hãy sử dụng dòng này ở giữa quy trình:

rCell.Value = Mid(rCell, x + Len(sSeq))

_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 (7696) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: