David cần tìm và thay đổi mọi lần xuất hiện của một định dạng ô cụ thể trong sổ làm việc nhiều trang tính. Ví dụ: anh ta có thể cần phải tìm tất cả các ô được định dạng là Tiền tệ và thay đổi định dạng đó thành Chung. Anh ấy tự hỏi làm thế nào để hoàn thành nhiệm vụ.

Cách tốt nhất để thực hiện tác vụ này tùy thuộc vào phiên bản Excel bạn đang sử dụng. Nếu bạn đang sử dụng Excel 2003, bạn có thể chỉ cần sử dụng công cụ Tìm và Thay thế của Excel để thực hiện thay đổi. Làm theo các bước sau:

  1. Nhấn Ctrl + H. Excel hiển thị tab Thay thế của hộp thoại Tìm và Thay thế.

  2. Bấm vào nút Tùy chọn, nếu cần, để phóng to hộp thoại.

(Xem Hình 1.)

  1. Nhấp vào nút Định dạng ở bên phải của dòng Tìm gì. Excel sẽ hiển thị hộp thoại Tìm Định dạng.

  2. Đảm bảo rằng tab Số được hiển thị. (Xem Hình 2.)

  3. Sử dụng các điều khiển trong hộp thoại để chỉ định định dạng bạn muốn tìm.

  4. Bấm OK để đóng hộp thoại Tìm Phông chữ.

  5. Nhấp vào nút Định dạng ở bên phải dòng Thay thế Bằng. Excel sẽ hiển thị hộp thoại Thay thế Định dạng.

  6. Đảm bảo rằng tab Số được hiển thị.

  7. Sử dụng các điều khiển trong hộp thoại để chỉ định định dạng bạn muốn sử dụng thay thế.

  8. Bấm OK để đóng hộp thoại Thay thế Phông chữ.

  9. Sử dụng danh sách thả xuống Trong để chọn Sổ làm việc.

  10. Nhấp vào Thay thế Tất cả.

Nếu bạn đang sử dụng phiên bản Excel cũ hơn, thì công cụ Tìm và Thay thế không cho phép bạn tìm kiếm hoặc thay thế định dạng. Thay vào đó, bạn phải sử dụng macro để thực hiện các thay đổi. Đây là một ví dụ về macro chỉ cần đi qua tất cả các ô được sử dụng trong sổ làm việc và đặt tất cả các định dạng thành Chung.

Sub FormatGeneral()

Dim iSht As Integer     Dim rng As Range

For iSht = 1 To Sheets.Count         Set rng = Worksheets(iSht).UsedRange         With rng             .NumberFormat = "General"

End With     Next End Sub

Nếu bạn muốn lựa chọn hơn một chút về các định dạng được thay thế, thì bạn sẽ cần phải kiểm tra định dạng hiện có của các ô khi lướt qua chúng. Ví dụ: macro sau sẽ kiểm tra bất kỳ ô nào được định dạng là Tiền tệ và sau đó chỉ thay đổi các ô đó thành định dạng Chung.

Sub CurrencyToGeneral()

Dim iSht As Integer     Dim rng As Range     Dim c As Range

For iSht = 1 To Sheets.Count         For Each c In Worksheets(iSht).UsedRange.Cells             If c.NumberFormat = "$#,##0.00" Then                 c.NumberFormat = "General"

End If         Next c     Next End Sub

Nếu bạn muốn làm cho macro linh hoạt hơn nữa, bạn có thể yêu cầu bạn nhấp vào ô sử dụng định dạng bạn muốn tìm và sau đó nhấp vào ô sử dụng định dạng bạn muốn thay đổi các ô đó.

Public Sub UpdateFormats()

Dim rFind As Range     Dim rReplace As Range     Dim rNextCell As Range     Dim sNewFormat As String     Dim sOldFormat As String     Dim ws As Worksheet

On Error Resume Next

' Determine the old format     Do         Set rFind = Application.InputBox( _           prompt:="Select a cell that uses the format " & _           "for which you want to search", _           Type:=8)



If rFind Is Nothing Then             If MsgBox("Do you want to quit?", vbYesNo) = vbYes Then                 Exit Sub             ElseIf InStr(1, rFind.Address, ":", vbTextCompare) > 0 Then                 MsgBox "Please select only one cell."

Set rFind = Nothing             End If         End If     Loop Until Not rFind Is Nothing     sOldFormat = rFind.NumberFormat

' Determine the new format     Do         Set rReplace = Application.InputBox( _           prompt:="Select a cell using the new format", _           Type:=8)



If rReplace Is Nothing Then             If MsgBox("Do you want to quit?", vbYesNo) = vbYes Then                 Exit Sub             ElseIf InStr(1, rReplace.Address, ":", vbTextCompare) > 0 Then                 MsgBox "Please select only one cell."

Set rReplace = Nothing             End If         End If     Loop Until Not rReplace Is Nothing     sNewFormat = rReplace.NumberFormat

' Do the replacing     For Each ws In ActiveWorkbook.Worksheets         For Each rNextCell In ws.UsedRange             If rNextCell.NumberFormat = sOldFormat Then                 rNextCell.NumberFormat = sNewFormat             End If         Next rNextCell     Next ws     MsgBox "The selected format has been changed."

End Sub

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (9865) á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: