
La siguiente imagen muestra lo que quiero lograr:
Explicación:
Tengo una tabla mezclada con texto sin formato y texto en negrita+cursiva. Quiero cambiar el formato del texto en negrita+cursiva para que se convierta en texto en negrita con resaltado naranja. El texto sin formato permanece sin cambios.
Excepto formatearlo uno por uno manualmente, ¿hay alguna forma más fácil y rápida de formatearlo?
Respuesta1
Esto se puede lograr usando VBA. Este código se prueba en Excel 2013. Aunque no ha mencionado la versión, debería ser lo suficientemente genérico como para funcionar en Excel 2003 también por si acaso.
En su hoja de trabajo, presione Alt+ F11para abrir el Editor VBA. DeInsertarmenú, inserte unMódulo. Haga doble clic en el módulo insertado en el panel izquierdo para abrir su editor de código.
Ahora pegue el siguiente código en él.
Public Sub myformat()
Dim rng As Range
Set rng = Range("Sheet1!D4:D11") 'Specify the desired SheetName!Range here
For Each cel In rng.Cells
If cel.Font.Bold = True And cel.Font.Italic = True Then
cel.Font.Italic = False
cel.Interior.ColorIndex = 44 '44 is the color index number for standard Orange in Excel
End If
Next cel
End Sub
Esto crea una macro VBA llamada myformat
. Aquí debe especificar manualmente el SheetName!Range. En este ejemplo Sheet1!D4:D11
está el rango de datos. Guarde y vuelva a la hoja de trabajo.
Presione Alt+ F8para acceder al cuadro de diálogo Macro y ejecute esta myformat
macro para obtener el efecto deseado.