martes, junio 21, 2016

Eliminar estilos en Excel

En el pasado hemos hablado de las bondades de los estilos en Excel. Pero al lado de las bondades convive un problema como el que me consulta un lector:
Pegué en un documento de Excel una celda de otro documento que contenía estilos, ahora han surgido variantes y duplicados de ese estilo y tengo alrededor de 800 estilos parásitos en mi documento, ¿hay alguna forma de eliminarlos todos de un tirón?

Cuando copiamos una celda formada con estilos, tal como describe mi lector, el cuaderno “hereda” los estilos del cuaderno de origen. De manera que si empezamos con los estilos pre-definidos


después de pegar algunas celdas de otros cuadernos podermos encontrarnos con ese cuadro


Excel no tiene un método directo para eliminar todos o parte de los estilos personalizados. Podemos eliminar cada uno por separado apuntando al estilo con el mouse y abriendo el menú contextual


Si queremos eliminar más de tres o cuatro estilos personalizados tendremos que echar mano a las macros.


Sub eliminar_estilos_1()
    Dim Estilo As Style
 
    For Each Estilo In ActiveWorkbook.Styles
        If Not Estilo.BuiltIn Then
        Estilo.Delete
        End If
    Next Estilo
 
End Sub


Esta macro elimina todos los estilos personalizados (aquellos que no sean "BuiltIn").
Si queremos eliminar sólo algunos de los estilos y dejar otros tendremos que modificar la macro de esta manera


Sub eliminar_estilos_2()
    Dim Estilo As Style
    Dim EstElegido As Integer

    For Each Estilo In ActiveWorkbook.Styles
        If Not Estilo.BuiltIn Then
            EstElegido = MsgBox("Eliminar el estilo '" & Estilo.Name & "'?", vbYesNo)
            If EstElegido = vbYes Then Estilo.Delete
        End If
    Next Estilo
  
End Sub




1 comentario:

  1. Excelente muchas gracias, el excel 2012 al abrir con el excel 2010 me generaban stylos que colgaban al archivo.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.