Este tutorial mostrará cómo formatear celdas usando VBA.
Formateo de celdas
Hay muchas propiedades que se pueden establecer para un (rango de) celdas como esta:
1234567891011 | Sub SetCellFormat ()Con hojas de trabajo ("Hoja1"). Rango ("B5: C7").HorizontalAlignment = xlHAlignDistributed.AddIndent = Verdadero.Font.FontStyle = "Cursiva".NumberFormat = "General".Interior.Color = RGB (128, 100, 250)Terminar conEnd Sub |
Veámoslos en orden alfabético:
AddIndent
Al establecer el valor de esta propiedad en Verdadero, el texto se sangrará automáticamente cuando la alineación del texto en la celda se establezca, ya sea horizontal o verticalmente, en una distribución equitativa (consulte Alineación horizontal y Alineación vertical).
12345 | Con hojas de trabajo ("Hoja1"). Rango ("A1").Orientación = xlVertical.VerticalAlignment = xlVAlignDistributed.AddIndent = VerdaderoTerminar con |
Fronteras
Puede establecer el formato de borde de una celda. Consulte aquí para obtener más información sobre las fronteras.
Como ejemplo, puede establecer una línea discontinua roja alrededor de la celda B2 en la Hoja 1 de esta manera:
1 | Hojas de trabajo ("Hoja1"). Rango ("B2"). BorderAround LineStyle: = xlDash, ColorIndex: = 3 |
Fuente
Puede ajustar el formato de fuente de la celda configurando el nombre, estilo, tamaño, color de la fuente, agregando subrayados o efectos (tachado, subíndice o superíndice). Consulte aquí para obtener más información sobre las fuentes de celda.
Aquí hay unos ejemplos:
12345 | Con rango ("A1: C5"). Fuente.Name = "Siglo".FontStyle = "Negrita".Strikethrough = VerdaderoTerminar con |
Fórmula Oculta
Esta propiedad devuelve o establece un valor de variante que indica si la fórmula se ocultará cuando la hoja de trabajo esté protegida. Por ejemplo:
1 | Hojas de trabajo ("Hoja1"). Rango ("A1: B1"). FormulaHidden = True |
Alineación horizontal
Esta propiedad de formato de celda de propiedad devuelve o establece un valor de variante que representa la alineación horizontal del objeto especificado. Las constantes devueltas o establecidas pueden ser: xlGeneral, xlCenter, xlDistributed, xlJustify, xlLeft, xlRight, xlFill, xlCenterAcrossSelection. Por ejemplo:
1 | Hojas de trabajo ("Hoja1"). Rango ("D3"). HorizontalAlignment = xlRight |
IndentLevel
Devuelve o establece un valor entero entre 0 y 15 que representa el nivel de sangría para la celda o rango.
1 | Hojas de trabajo ("Hoja1"). Rango ("A1"). IndentLevel = 7 |
Interior
Puede configurar u obtener información devuelta sobre el interior de la celda: su Color, ColorIndex, Pattern, PatternColor, PatternColorIndex, PatternThemeColor, PatternTintAndShade, ThemeColor, TintAndShade, así:
123 | Si no es Rango ("A1"). Interior.ThemeColor = ThemeColorLight2 EntoncesRango ("A1"). Interior.Pattern = xlPatternUpTerminara si |
Bloqueado
Esta propiedad devuelve Verdadero si la celda o rango está bloqueado, Falso si el objeto se puede modificar cuando la hoja está protegida o Nulo si el rango especificado contiene celdas bloqueadas y desbloqueadas. También se puede utilizar para bloquear o desbloquear celdas.
Este ejemplo desbloquea las celdas A1: B2 en Sheet1 para que puedan modificarse cuando la hoja está protegida.
12 | Hojas de trabajo ("Hoja1"). Rango ("A1: B2"). Bloqueado = FalsoHojas de trabajo ("Hoja1"). Proteger |
Combinar células
Establezca esta propiedad en True si necesita fusionar un rango. Su valor se vuelve Verdadero si un rango especificado contiene celdas combinadas. Por ejemplo, si necesita fusionar el rango de C5: D7, puede usar este código:
1 | Hojas de trabajo ("Hoja1"). Rango ("C5: D7"). MergeCells = True |
Formato numérico
Puede establecer el formato de número dentro de la (s) celda (s) en General, Número, Moneda, Contabilidad, Fecha, Hora, Porcentaje, Fracción, Científico, Texto, Especial y Personalizado.
Estos son los ejemplos de formatos de números científicos y porcentuales:
12 | Rango ("A1"). NumberFormat = "0.00E + 00"Rango ("B1"). NumberFormat = "0.00%" |
NúmeroFormatoLocal
Esta propiedad devuelve o establece un valor de variante que representa el código de formato del objeto como una cadena en el idioma del usuario.
Orientación
Puede establecer (u obtener una devolución) la orientación del texto dentro de la (s) celda (s) por esta propiedad. Su valor puede ser una de estas constantes: xlDownward, xlHorizontal, xlUpward, xlVertical o un valor entero de -90 a 90 grados.
1 | Hojas de trabajo ("Hoja1"). Rango ("A1"). Orientación = -60 |
Padre
Esta es una propiedad de solo lectura que devuelve el objeto principal de un objeto especificado.
ShrinkToFit
Esta propiedad devuelve o establece un valor de variante que indica si el texto se reduce automáticamente para ajustarse al ancho de columna disponible.
1 | Hojas de trabajo ("Hoja1"). Rango ("A1"). ShrinkToFit = True |
Alineamiento vertical
Esta propiedad de formato de celda de propiedad devuelve o establece un valor de variante que representa la alineación vertical del objeto especificado. Las constantes devueltas o establecidas pueden ser: xlCenter, xlDistributed, xlJustify, xlBottom, xlTop. Por ejemplo:
1 | Hojas de trabajo ("Hoja1"). Rango ("A1"). VerticalAlignment = xlTop |
WrapText
Esta propiedad devuelve Verdadero si el texto está envuelto en todas las celdas dentro del rango especificado, Falso si el texto no está envuelto en todas las celdas dentro del rango especificado o Nulo si el rango especificado contiene algunas celdas que envuelven texto y otras celdas que no.
Por ejemplo, si tiene este rango de celdas:
este código a continuación devolverá Null en la ventana Inmediato:
1 | ? Hojas de trabajo ("Hoja1"). Rango ("A1: B1"). WrapText |