Tìm kiếm Apostrophes hàng đầu (Microsoft Excel)
Richard muốn có thể tìm kiếm dấu nháy đơn (‘) ở vị trí ngoài cùng bên trái trong một ô, nhưng Excel sẽ không cho phép anh ta làm điều đó. Nói cách khác, nếu một ô chứa ‘123 hoặc’ a34tp, Richard muốn có thể tìm thấy dấu nháy đơn đứng đầu đó và thay thế nó bằng một thứ khác.
Làm những gì Richard muốn làm cần phải giải thích sơ bộ một chút.
Về mặt kỹ thuật, việc coi dấu nháy đơn là “ký tự đứng đầu” hoặc đề cập rằng nó nằm ở “vị trí ngoài cùng bên trái” của một ô là một cách hiểu sai. Mặc dù bạn có thể nhìn vào thanh Công thức và thấy dấu nháy đơn ở đầu công thức, nhưng dấu nháy đơn đó không thực sự là một phần của nội dung ô; đó là lý do tại sao bạn không thể sử dụng Find and Replace để tìm và thay thế nó.
Dấu nháy đơn thực sự được coi là “ký tự tiền tố” cho một ô.
Các giá trị có thể có của ký tự tiền tố được đặt bởi cài đặt Phím Dẫn hướng Chuyển tiếp trong Excel và giá trị của cài đặt này được lưu trên cơ sở từng sổ làm việc. Bạn có thể thay đổi cài đặt này bằng cách sử dụng khu vực nâng cao của hộp thoại Tùy chọn Excel (ở cuối hộp thoại).
Nếu cài đặt bị xóa (điều kiện mặc định cho cài đặt), thì giá trị của ký tự tiền tố cho mỗi ô có thể để trống hoặc dấu nháy đơn. Nếu ô chứa văn bản, thì việc thiết lập ký tự tiền tố không thực sự quan trọng lắm. Nếu nội dung ô không phải là văn bản, thì việc đặt ký tự tiền tố thành dấu nháy đơn buộc Excel phải xử lý nội dung ô như thể chúng là văn bản. Vì vậy, chẳng hạn, số 123 được coi là văn bản – không phải là số – và hiển thị trong thanh Công thức dưới dạng ‘123.
Nếu cài đặt Phím Điều hướng Chuyển tiếp được chọn (hộp kiểm có dấu kiểm trong đó), thì giá trị của ký tự tiền tố cho mỗi ô có thể có một trong năm giá trị khác nhau. Các giá trị này nhất quán với các tiền tố được sử dụng trong Lotus 1-2-3 và kỳ lạ thay, chỉ được hỗ trợ trong Excel như một sự hỗ trợ chuyển tiếp cho việc sử dụng thông thường trong chương trình.
Các giá trị có thể có là dấu nháy đơn (căn trái), dấu ngoặc kép (căn phải), carat (căn giữa), dấu gạch chéo ngược (lặp lại) hoặc để trống (mục không phải văn bản).
Bây giờ, trở lại câu hỏi ban đầu của Richard: làm thế nào để tìm kiếm và loại bỏ dấu nháy đơn hàng đầu đó. Bạn không thể sử dụng Tìm và Thay thế để thực hiện chỉnh sửa vì dấu nháy đơn không thực sự là một phần của nội dung ô.
Vì vậy, bạn phải thực hiện thay đổi trong macro. Việc thay đổi tương đối dễ dàng. Trước tiên, bạn sẽ muốn đảm bảo rằng sổ làm việc đã xóa cài đặt Phím Điều hướng Chuyển tiếp. Tại sao? Bởi vì bạn có thể không muốn làm xáo trộn ký tự tiền tố cho các ô nếu sổ làm việc có thể được sử dụng vào một thời điểm nào đó trong tương lai với Lotus 1-2-3 một lần nữa. Bạn đảm bảo rằng cài đặt là chính xác, trong macro của bạn, với dòng sau:
Application.TransitionNavigKeys = False
Sau đó, bạn có thể bước qua một lựa chọn ô và kiểm tra xem ký tự tiền tố cho mỗi ô có phải là dấu nháy đơn hay không. Nếu đúng như vậy, thì tất cả những gì bạn cần làm là để macro thực hiện tương đương với việc gõ lại nội dung của ô theo cách thủ công, theo cách sau:
For Each c In Selection If c.PrefixCharacter = "'" Then c.Value = c.Value End If Next c
Lưu ý rằng macro kiểm tra những gì có trong thuộc tính PrefixCharacter. Thuộc tính này có thể được đọc trong VBA, nhưng nó không thể được thay đổi trực tiếp. Đó là lý do tại sao macro cần sử dụng dòng có vẻ đơn giản để gán giá trị của từng ô trở lại ô — về cơ bản là nhập lại nội dung.
Nếu bạn không muốn sử dụng macro để loại bỏ các ký tự tiền tố dấu nháy đơn, thì bạn có thể tận dụng một điểm lạ nhỏ của Paste Special. Làm theo các bước chung sau:
-
Chọn một ô trống và sao chép nó vào Clipboard (sử dụng Ctrl + C).
-
Chọn phạm vi ô mà bạn muốn xóa ký tự tiền tố.
-
Hiển thị hộp thoại Dán Đặc biệt.
-
Nhấp vào nút radio Thêm.
-
Bấm OK.
Sau khi “thêm” ô trống vào mỗi ô đích, ký tự tiền tố — nếu có — sẽ bị xoá.
_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 (10675) áp dụng cho Microsoft Excel 2007 và 2010. Bạn có thể tìm phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: