Thay thế trong Trang tính và Nhận xét Đồng thời (Microsoft Excel)
Các sinh viên của Dorothy đang tùy chỉnh một sổ làm việc mô phỏng sổ séc, thay thế tên mặc định bằng tên riêng của họ. Ví dụ: cô ấy muốn họ tìm kiếm “Jason Anderson” và thay thế tên bằng “Sue Smith”.
Có 22 lần xuất hiện của “Jason Anderson” trong các hộp văn bản trong suốt tám tab trang tính và một số lần xuất hiện khác trên chính trang tính.
Dorothy tự hỏi làm thế nào cô ấy có thể Tìm và Thay thế tất cả các lần xuất hiện trang tính và tất cả các lần xuất hiện nhận xét cùng một lúc.
Không có cách nào để làm điều này mà không sử dụng macro. Macro sẽ cần phải xem qua từng ô trong sổ làm việc, từng nhận xét và từng hộp văn bản để xem có cần thực hiện các thay đổi hay không. Sau đây là một ví dụ về cách điều này có thể được thực hiện:
Sub ReplaceNames() Dim sDefaultName As String Dim sNewName As String Dim sht As Worksheet Dim cmt As Comment Dim wks As Worksheet Dim sCmt As String Dim shp As Shape sDefaultName = "Jason Anderson" sNewName = InputBox("Enter your first and last name.", _ "Name Replacement") ' Replace cell text For Each sht In ActiveWorkbook.Worksheets sht.Cells.Replace what:=sDefaultName, _ Replacement:=sNewName, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, _ SearchFormat:=False, ReplaceFormat:=False Next sht ' Replace comment text For Each wks In ActiveWorkbook.Worksheets For Each cmt In wks.Comments sCmt = cmt.Text If InStr(sCmt, sDefaultName) <> 0 Then sCmt = Application.WorksheetFunction. _ Substitute(sCmt, sDefaultName, sNewName) cmt.Text Text:=sCmt End If Next cmt Next wks Set wks = Nothing Set cmt = Nothing ' Replace text box text On Error Resume Next For Each wks In ActiveSheet.Parent.Worksheets For Each shp In wks.Shapes With shp.TextFrame.Characters .Text = Application.WorksheetFunction.Substitute( _ .Text, sDefaultName, sNewName) End With Next shp Next wks End Sub
Macro nhắc người dùng nhập tên mới, sau đó tìm kiếm các ô, nhận xét và hộp văn bản để xem có bất kỳ lần xuất hiện nào của tên mặc định (“Jason Anderson”) hay không. Nếu vậy, thay thế thích hợp được thực hiện.
Nếu bạn không muốn sử dụng macro để thực hiện tìm kiếm, có lẽ việc cấu trúc lại sổ làm việc sẽ hữu ích. Ví dụ: bạn có thể tạo “trang tính nhập dữ liệu” trong đó thông tin phổ biến — chẳng hạn như tên của người — được nhập. Trong các trang tính khác, tên từ trang tính nhập dữ liệu được tham chiếu bằng công thức. Do đó, một thay đổi trong trang tính nhập dữ liệu và tên được thay đổi trong tất cả các trang tính khác.
Sử dụng phương pháp này cũng có thể hiệu quả với các nhận xét. Bạn có thể chọn nhận xét hoặc hình dạng và trong thanh Công thức, hãy nhập công thức tham chiếu như sau:
=MyName
Điều này giả định rằng tên của người dùng, trên trang tính nhập dữ liệu, đã được liên kết với phạm vi tên MyName. Nếu cần có thêm thông tin trong nhận xét hoặc hình dạng, thì bạn có thể tạo văn bản đó trong một ô trên trang tính nhập dữ liệu và sau đó gán nội dung của ô đó cho nhận xét hoặc hình dạng, giống như đã lưu ý đối với phạm vi tên MyName.
_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 (2614) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.