Làm đậm tất cả các lần xuất hiện (Microsoft Excel)
Tom lưu ý đúng rằng trong Word, bạn có thể sử dụng Tìm và Thay thế để in đậm tất cả các lần xuất hiện của một từ. (Tìm kiếm từ đó, thay thế nó bằng từ tương tự được bật định dạng đậm.) Anh ấy tự hỏi làm thế nào anh ấy có thể làm điều tương tự trong Excel.
Câu trả lời phụ thuộc một phần vào phiên bản Excel bạn đang sử dụng. Nếu bạn đang sử dụng Excel 2002 hoặc phiên bản Excel mới hơn, câu trả lời rất dễ dàng — bạn thực hiện gần như giống như cách bạn làm trong Word. Làm theo các bước sau:
-
Nhấn Ctrl + H để hiển thị tab Thay thế của hộp thoại Tìm và Thay thế.
-
Nhấp vào nút Tùy chọn để mở rộng hộp thoại. (Xem Hình 1.)
-
Trong hộp Tìm gì, hãy nhập từ bạn muốn tô đậm.
-
Nhập từ tương tự vào hộp Thay thế Bằng.
-
Bấm vào nút Định dạng ở bên phải của hộp Thay thế Bằng. Excel sẽ hiển thị hộp thoại Thay thế Định dạng.
-
Bấm vào tab Phông chữ. (Xem Hình 2.)
-
Trong danh sách Kiểu phông chữ, chọn In đậm.
-
Bấm OK để đóng hộp thoại Thay thế Phông chữ.
-
Nhấp vào Thay thế Tất cả để thực hiện thay thế.
Mặc dù điều này có vẻ khá dễ dàng, nhưng bạn cần nhớ rằng các bước này thay đổi định dạng của toàn bộ ô, không chỉ các từ trong một ô.
Do đó, nếu bạn đang tìm kiếm và thay thế từ “nâu”, thì bất kỳ ô nào chứa từ “nâu” sẽ được tô đậm – toàn bộ ô, không chỉ từ.
Nếu bạn đang sử dụng phiên bản Excel cũ hơn (Excel 97 hoặc Excel 2000) hoặc bạn muốn chỉ ảnh hưởng đến các từ trong ô, thì các bước này sẽ không hoạt động. Thay vào đó, bạn sẽ cần phải dùng đến macro để tô đậm.
Về cơ bản, bạn sẽ cần một macro xem qua trang tính và xác định những gì có thể thay đổi. (Bạn không thể tô đậm các từ hoặc chữ số riêng lẻ trong công thức hoặc giá trị số; bạn chỉ có thể thực hiện các thay đổi đối với định dạng cấp độ từ cho các hằng số văn bản.)
Khi macro tìm thấy các ô mà nó có thể xử lý, nó cần phải tìm kiếm từ mong muốn trong các ô và sau đó làm đậm văn bản đó. Macro sau thực hiện chính chiến lược này:
Sub FindAndBold() Dim sFind As String Dim rCell As Range Dim rng As Range Dim lCount As Long Dim iLen As Integer Dim iFind As Integer Dim iStart As Integer On Error Resume Next Set rng = ActiveSheet.UsedRange. _ SpecialCells(xlCellTypeConstants, xlTextValues) On Error GoTo ErrHandler If rng Is Nothing Then MsgBox "There are no cells with text" GoTo ExitHandler End If sFind = InputBox( _ Prompt:="What do you want to BOLD?", _ Title:="Text to Bold") If sFind = "" Then MsgBox "No text was listed" GoTo ExitHandler End If iLen = Len(sFind) lCount = 0 For Each rCell In rng With rCell iFind = InStr(.Value, sFind) Do While iFind > 0 .Characters(iFind, iLen).Font.Bold = True lCount = lCount + 1 iStart = iFind + iLen iFind = InStr(iStart, .Value, sFind) Loop End With Next If lCount = 0 Then MsgBox "There were no occurrences of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "to bold." ElseIf lCount = 1 Then MsgBox "One occurrence of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "was made bold." Else MsgBox lCount & " occurrences of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "were made bold." End If ExitHandler: Set rCell = Nothing Set rng = Nothing Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub
Trước tiên, macro đặt phạm vi tìm kiếm cho những ô có chứa hằng số văn bản. Sau đó, nó sẽ nhắc người dùng về một từ cần được thay đổi.
Sau khi được nhập, macro sẽ bắt đầu xem qua tất cả các ô trong phạm vi. Mỗi ô được kiểm tra để xem nó có chứa từ đích hay không. Nếu vậy, thì thuộc tính .Bold cho các ký tự đó được đặt và macro tiếp tục tìm kiếm.
Macro cũng theo dõi số lượng thay đổi đã được thực hiện, hiển thị tổng số thay đổi khi kết thúc công việc của nó.
_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 (2414) á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: