¿Cómo se pueden manipular formatos con VBA?
Para responder esta pregunta, primero mencionaremos los formatos que utilizaremos:
- Tipo de Fuente: Cambia la forma del texto escrita.
- Negrita: Es un formato que permite engrosar el texto seleccionado.
- Cursiva: Permite inclinar el texto seleccionado.
- Subrayar: Permite colocar una línea debajo del texto.
- Color de fuente: Cambiará el color de las letras seleccionadas.
- Tamaño de fuente: Permite aumentar o reducir el texto seleccionado.
- Alinear: Permite colocar el texto a la izquierda, derecha o centro.
Ahora, para poder manipular los formatos mencionados mediante VBA en la hoja de Excel crearemos un panel de control colocando los principales cambios que deseamos tener.
- Para tipo de fuente consideraremos:
a) Arial
b) Arial Black
c) Cooper Black
d) Calibri
e) Century gothic
f) Times New Roman
g) Comic Sans MS
Crearemos unos botones como se muestra en la imagen:
Utilizando la siguiente codificación para cada tipo de fuente, cambiando solo el .Name="Agregar el tipo de fuente que deseemos":
Sub ARIAL()
' ARIAL Macro
Range("I9:L14").Select
With Selection.Font
.Name = "Arial"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.COLOR = -10477568
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
End Sub
Ahora crearemos botones de si y no para el formato del texto, de la siguiente manera:
Utilizando la siguiente codificación para cada formato, para el botón de "si":
Sub APLICARNEGRITA()
' APLICARNEGRITA Macro
Range("I9:L14").Select
Selection.Font.Bold = True
End Sub
Y para el botón de "no":
Sub QUITARNEGRITA()
' QUITARNEGRITA Macro
Range("I9:L14").Select
Selection.Font.Bold = False
End Sub
También modificaremos los colores del texto, así que agregaremos pequeños botones circulares de colores para que al presionarlos cambie el color del texto:
Utilizando la siguiente codificación:
Sub COLORAZUL()
' COLORAZUL Macro
Range("I9:L14").Select
With Selection.Font
.COLOR = -10477568
.TintAndShade = 0
End With
End Sub
Botones para alinear el texto escrito:
Junto con la siguiente codificación para cada uno:
Sub ALINEARALADERECHA()
' ALINEARALADERECHA Macro
Range("I9:L14").Select
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
End Sub
Elegir si se desea que sea Mayúscula o minúscula:
Elegir el tamaño de la letra:
Usando el siguiente código para cada tamaño:
Sub tamaño30()
' tamaño30 Macro
Range("I9:L14").Select
With Selection.Font
.Name = "Comic Sans MS"
.Size = 30
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.COLOR = -10477568
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
End Sub
Por último un botón en que nos permita borrar todo lo realizado: