En este tutorial, aprenderemos a usar Visual Basic para aplicaciones (VBA) para modificar el tamaño y el estilo del texto en una celda de Excel en función del contenido de la celda. Este tutorial aplica para Excel 365, 2021, 2019 y 2016.
Preliminares
Si es nuevo en el desarrollo de Excel VBA, le recomiendo que antes de seguir el tutorial consulte nuestro manual de macros de Excel VBA.
Antes de comenzar a codificar, debe habilitar su pestaña de desarrollador en Excel en la cinta, ya que de lo contrario no podrá acceder a su Editor de Visual Basic.
Cambie las propiedades del texto de su celda de Excel con VBA
Defina su hoja de cálculo
Comenzaremos definiendo una hoja de cálculo de Excel que usaremos como ejemplo. Siéntase libre de usarlo para seguir este tutorial.
- Abra Microsoft Excel y cree un nuevo libro de Excel habilitado para macros ( .xlsm ) llamado Excel_Macros.xlsm
- Guarde su hoja de cálculo en su disco local.
- En la hoja de trabajo Sheet1 , continúe y agregue la siguiente tabla:
![¿Cómo configurar el color de fuente de texto de Excel con VBA? ¿Cómo configurar el color de fuente de texto de Excel con VBA?](/resources8/images42/image-1141-0208131955710.png)
- Ahora, desde la cinta, presione Fórmulas .
- Luego presione Definir nombre .
- Defina un rango con nombre en el que aplicará su código VBA como se muestra a continuación y presione Aceptar .
![¿Cómo configurar el color de fuente de texto de Excel con VBA? ¿Cómo configurar el color de fuente de texto de Excel con VBA?](/resources8/images42/image-2728-0208131955997.png)
Use la propiedad Cell.Font VBA para cambiar el color y el estilo de la fuente
- Vaya a la pestaña Desarrollador .
- A continuación, siga adelante y presione el botón de Visual Basic .
- En el Explorador de proyectos del lado izquierdo , resalte el proyecto Excel_Macros.xlsm , luego presione Insertar y seleccione Módulo .
- Se creará un nuevo módulo de VBA llamado Module1 .
- Continúe y pegue el siguiente código en el módulo recién creado:
Sub Color_Cell_Text_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Completion_Status")
'loop through all cells in the range
For Each MyCell In StatusRange
StatValue = MyCell.Value
'modify the cell text values as needed.
Select Case StatValue
'green
Case "Progressing"
With MyCell.Font
.Color = RGB(0, 255, 0)
.Size = 14
.Bold = True
End With
'orange
Case "Pending Feedback"
With MyCell.Font
.Color = RGB(255, 141, 0)
.Size = 14
.Bold = True
End With
'red
Case "Stuck"
With MyCell.Font
.Color = RGB(255, 0, 0)
.Size = 14
.Bold = True
End With
End Select
Next MyCell
End Sub
- Presione el botón Guardar en su editor de Visual Basic.
- Ahora presione Ejecutar y luego elija Ejecutar Sub/UserForm (o simplemente presione F5).
- Vaya a su hoja de trabajo Sheet1 y observe los cambios. A las entradas de su tabla se les asignaron múltiples códigos de color según su texto (usando la función de color RGB), y también configuramos el texto en negrita y aumentamos su tamaño.
![¿Cómo configurar el color de fuente de texto de Excel con VBA? ¿Cómo configurar el color de fuente de texto de Excel con VBA?](/resources8/images42/image-763-0208131956286.png)
- Si no ha guardado su código, presione el botón Guardar (o Ctrl+S), luego guarde también su libro de trabajo.
Acceda a su macro VBA
- Tenga en cuenta que su código siempre está disponible para que lo ejecute desde el comando Macros ubicado en la pestaña Ver (o alternativamente en Desarrollador | Macros)
![¿Cómo configurar el color de fuente de texto de Excel con VBA? ¿Cómo configurar el color de fuente de texto de Excel con VBA?](/resources8/images42/image-8698-0208131956573.png)
Bonificación: estilo de celda
Excel ofrece la posibilidad de crear “estilos” de celda. Los estilos se pueden encontrar en la Cinta de inicio > Estilos:
![estilos de fuente excel vba](/defaultupload/image-web20-com-1213172455874.jpg)
Los estilos le permiten guardar el formato de celda que desee. Luego asigne ese estilo a una nueva celda y todo el formato de la celda se aplicará instantáneamente. Incluyendo el tamaño de fuente, el color de la celda, el estado de protección de la celda y cualquier otra cosa disponible en el menú Formato de celda:
![menú de formato de celda excel](/defaultupload/image-web20-com-1213172456201.jpg)
Personalmente, para muchos de los modelos en los que trabajo, suelo crear un estilo de celda "Entrada":
Rango("a1").Estilo = "Entrada"
Al utilizar estilos, también puede identificar fácilmente los tipos de celdas en su hoja de trabajo. El siguiente ejemplo recorrerá todas las celdas de la hoja de trabajo y cambiará cualquier celda con Estilo = "Entrada" a "InputLocked":
Celda tenue como rango
Para cada celda en ActiveSheet.Cells
Si Cell.Style = "Entrada" luego Cell.Style = "InputLocked"
Terminara si
Siguiente celda