David necesita encontrar y cambiar cada aparición de un formato de celda específico en un libro de trabajo de varias hojas de trabajo. Por ejemplo, es posible que deba buscar todas las celdas formateadas como Moneda y cambiar ese formato a General. Se pregunta cómo realizar la tarea.

La mejor manera de realizar esta tarea depende de la versión de Excel que esté utilizando. Si está utilizando Excel 2003, simplemente puede utilizar la herramienta Buscar y reemplazar de Excel para realizar el cambio. Siga estos pasos:

  1. Presione Ctrl + H. Excel muestra la pestaña Reemplazar del cuadro de diálogo Buscar y reemplazar.

  2. Haga clic en el botón Opciones, si es necesario, para ampliar el cuadro de diálogo.

(Ver figura 1)

  1. Haga clic en el botón Formato a la derecha de la línea Buscar. Excel muestra el cuadro de diálogo Buscar formato.

  2. Asegúrese de que se muestre la pestaña Número. (Ver figura 2)

  3. Utilice los controles del cuadro de diálogo para especificar el formato que desea buscar.

  4. Haga clic en Aceptar para cerrar el cuadro de diálogo Buscar fuente.

  5. Haga clic en el botón Formato a la derecha de la línea Reemplazar con. Excel muestra el cuadro de diálogo Reemplazar formato.

  6. Asegúrese de que se muestre la pestaña Número.

  7. Utilice los controles del cuadro de diálogo para especificar el formato que desea utilizar como reemplazo.

  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Reemplazar fuente.

  9. Utilice la lista desplegable Dentro para elegir Libro de trabajo.

  10. Haga clic en Reemplazar todo.

Si está utilizando una versión anterior de Excel, la herramienta Buscar y reemplazar no le permite buscar o reemplazar el formato. En su lugar, debe utilizar una macro para realizar los cambios. Aquí hay un ejemplo de una macro que simplemente pasa por todas las celdas utilizadas en el libro de trabajo y establece todos los formatos en General.

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

Si desea ser un poco más selectivo en qué formatos se reemplazaron, entonces deberá verificar el formato existente de las celdas a medida que las revisa. Por ejemplo, la siguiente macro busca celdas formateadas como Moneda y luego cambia solo esas celdas a un formato General.

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

Si desea que la macro sea aún más flexible, puede hacer que le pida que haga clic en una celda que usa el formato que desea buscar y luego haga clic en una celda que usa el formato al que desea cambiar esas celdas.

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 es su fuente de formación rentable en Microsoft Excel.

Este consejo (9865) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Replacing_Cell_Formats [Reemplazo de formatos de celda].