Este tutorial demostrará cómo utilizar la función de formato.
Función de formato
Dar formato a números con formatos predefinidos
La función de formato puede convertir un número en una cadena formateada con formatos numéricos con nombre predefinidos. Esos formatos predefinidos son Moneda, Fijo, Estándar, Porcentaje, Científico, Sí / No, Verdadero / Falso y Activado / Desactivado.
12345678910111213141516171819202122232425262728293031 | Sub FormatExample_1 ()Formato MsgBox (1234567.8) 'El resultado es: 1234567.8'El formato simplemente deja el número como estáFormato MsgBox (1234567.8, "Moneda") 'El resultado es: $ 1,234,567.80'Moneda utiliza la configuración de moneda del sistemaMsgBox Format (1234567.8, "Fixed") 'El resultado es: 1234567.80'Fijo: al menos un dígito antes del punto decimal y'usa la configuración del sistema para la parte decimalFormato MsgBox (1234567.8, "Estándar") 'El resultado es: 1,234,567.80'Estándar: Miles de separadores y sistema estándarFormato MsgBox (1234567.8, "Porcentaje") 'El resultado es: 123456780.00%'Porcentaje, multiplicado por 100 con% y sistema estándar.Formato MsgBox (1234567.8, "Científico") 'El resultado es: 1.23E + 06'Notación cientificaFormato MsgBox (1234567.8, "Sí / No") 'El resultado es: Sí'No si el número es ceroFormato MsgBox (1234567.8, "Verdadero / Falso") 'El resultado es: Verdadero'Falso si el número es igual a ceroFormato MsgBox (1234567.8, "Activado / Desactivado") 'El resultado es: Activado'Apagado si el número es ceroEnd Sub |
Dar formato a números con formatos definidos por el usuario
La función de formato puede convertir un número en una cadena, formatos numéricos formateados definidos por el usuario. 0 es un marcador de posición de dígitos que muestra un dígito o cero. # es un marcador de posición de dígitos que muestra un dígito o nada. Un punto (.) Es el marcador de posición decimal,% es el marcador de posición de porcentaje y la coma (,) es el separador de miles. Se puede agregar texto en el formato usando comillas dobles (“”) y se puede agregar un solo carácter si se usa después de una barra invertida (\).
1234567891011 | SubFormatoEjemplo_2 ()MsgBox Format (7.8, "000.00") 'El resultado es: 007.80Formato MsgBox (12347.8356, "000.00") 'El resultado es: 12347.84Formato MsgBox (7.8, "###. ##") 'El resultado es: 7.8Formato MsgBox (12347.8356, "###. ##") 'El resultado es: 12347.84Formato MsgBox (7.8, "\ $. 00") 'El resultado es: $ 7.80Formato MsgBox (1237.835, "ABA0.00") 'El resultado es: ABA1237.84Formato MsgBox (12347.8356, "000.00%") 'El resultado es: 1234783.56%Formato MsgBox (12347.8356, "% 000.00") 'El resultado es:% 12347.84End Sub |
Dar formato a números según los valores
La función de formato puede tener diferentes secciones usando diferentes reglas de formato para números positivos, números negativos, cero y nulos. Estas secciones están separadas por un punto y coma.
1234567 | SubFormatoEjemplo_3 ()Formato MsgBox (7.8, "000.00; (000.00); \ z \ e \ r \ o; nada") 'El resultado es: 007.80Formato MsgBox (-7.8, "000.00; (000.00); \ z \ e \ r \ o; nada") 'El resultado es: (007.80)Formato MsgBox (0, "000,00; (000,00); \ z \ e \ r \ o; nada") 'El resultado es: ceroFormato MsgBox (Nulo, "000.00; (000.00); \ z \ e \ r \ o; nada") 'El resultado es: nadaEnd Sub |
Dar formato a fechas con formatos predefinidos
La función de formato puede formatear fechas con diferentes formatos predefinidos. Esos formatos son de fecha larga, media y corta y también de tiempo largo, medio y corto.
1234567891011121314 | SubFormatoEjemplo_4 ()Dim DateEx como fechaDateEx = # 18/4/2020 7:35:56 PM #Formato de MsgBox (DateEx, "Fecha general") 'El resultado es: 18/4/2020 7:35:56 p.m.MsgBox Format (DateEx, "Long Date") 'El resultado es: sábado 18 de abril de 2022MsgBox Format (DateEx, "Medium Date") 'El resultado es: 18 de abril de 20MsgBox Format (DateEx, "Short Date") 'El resultado es: 18/4/2020MsgBox Format (DateEx, "Long Time") 'El resultado es: 7:35:56 p.m.MsgBox Format (DateEx, "Medium Time") 'El resultado es: 07:35 p.m.MsgBox Format (DateEx, "Short Time") 'El resultado es: 19:35End Sub |
Dar formato a fechas con formatos definidos por el usuario
La función de formato puede formatear fechas con formatos definidos por el usuario. Se pueden utilizar caracteres como d, m, y, w, q para crear formatos de fecha personalizados.
123456789101112131415161718192021222324 | SubFormatoEjemplo_5 ()Dim DateEx como fechaDateEx = # 18/4/2020 7:35:56 PM #MsgBox Format (DateEx, "m / d / aa") 'El resultado es: 18/4/2020Formato MsgBox (DateEx, "mm-dd-aa") 'El resultado es: 18/04/2020Formato de MsgBox (DateEx, "mmm-dd-aa") 'El resultado es: 18 de abril de 2020Formato de MsgBox (DateEx, "mmmm-dd-aa") 'El resultado es: 18 de abril de 2020Formato de MsgBox (DateEx, "mm-ddd-aa") 'El resultado es: 04-Sat-2020Formato MsgBox (DateEx, "mm-dddd-aa") 'El resultado es: 04-sábado-2020Formato de MsgBox (DateEx, "y")El resultado es: 109'número de días del año 1-366Formato de MsgBox (DateEx, "ww")El resultado es: 16'número de semana en el año 1-52Formato de MsgBox (DateEx, "q")'El resultado es: 2'trimestre en el año 1-4End Sub |
Se pueden utilizar combinaciones de caracteres como h, n, sy am, pm para crear formatos de hora personalizados.
123456789101112 | SubFormatoEjemplo_6 ()Dim DateEx como fechaDateEx = # 4/18/2020 7:06:05 PM #Formato MsgBox (DateEx, "h: n: s") 'El resultado es: 19: 6: 5Formato de MsgBox (DateEx, "hh: nn: ss") 'El resultado es: 19:06:05Formato MsgBox (DateEx, "hh: nn: ss am / pm") 'El resultado es: 07:06:05 pmFormato MsgBox (DateEx, "hh: nn: ss AM / PM") 'El resultado es: 07:06:05 PMFormato MsgBox (DateEx, "hh: nn: ss a / p") 'El resultado es: 07:06:05 pFormato MsgBox (DateEx, "hh: nn: ss A / P") 'El resultado es: 07:06:05 PEnd Sub |
Formato para una mejor legibilidad
La función de formato puede formatear cadenas o números para una mejor legibilidad. @ es un marcador de posición de carácter que se utiliza para mostrar un carácter o un espacio. & es un marcador de posición de carácter que se utiliza para mostrar un carácter o nada. ! se puede usar para usar marcadores de posición de caracteres de izquierda a derecha y se puede usar para forzar minúsculas o mayúsculas. Puede ser útil para formatear números de teléfono u otros números grandes sin cambiar el valor original.
12345678910111213141516171819202122 | SubFormatoEjemplo_7 ()Dim StrEx como cadenaStrEx = "ABCdef"Formato MsgBox (StrEx, "- @@@ - @@ - @@") 'El resultado es: - AB-Cd-efFormato MsgBox (StrEx, "- &&& - && - &&") 'El resultado es: -AB-Cd-ef'Empieza de derecha a izquierda.Formato MsgBox (StrEx, "- @@@ - @@ - @@ - @@") 'El resultado es: - -AB-Cd-efFormato MsgBox (StrEx, "- &&& - && - && - &&") 'El resultado es: --AB-Cd-ef'Empieza de derecha a izquierda. Cuando no hay caracteres @ agrega espacios y & no agrega nadaFormato MsgBox (StrEx, "! - @@@ - @@ - @@ - @@") 'El resultado es: -ABC-de-f -Formato MsgBox (StrEx, "! - &&& - && - && - &&") 'El resultado es: -ABC-de-f'Empieza de izquierda a derecha debido al!MsgBox Format (StrEx, ">") 'El resultado es: ABCDEFFormato MsgBox (StrEx, "<") 'El resultado es: abcdefFormato MsgBox (1234567890, "@@@ - @@@ - @@@@") 'El resultado es: 123-456-7890Formato MsgBox (1234567890, "@@@@ - @@@ - @@@") 'El resultado es: 1234-567-890End Sub |
Dar formato a patrones en celdas de hojas de trabajo
La función de formato se puede usar en código VBA y también en celdas de hojas de trabajo. Seleccione la celda o rango de celdas y siga la entrada de menú Formato de celdas> Personalizado. Hay muchos formatos definidos por el usuario y también el usuario puede crear sus propios formatos personalizados.
Dar formato a patrones con fórmula de texto
La función de formato puede cambiar directamente el formato de un valor dentro del código VBA. También podemos usar la fórmula de Excel Text para obtener el mismo resultado usando WorksheetFunction.Text.
1234567891011 | SubFormatoEjemplo_8 ()Formato de MsgBox (7.8, "000.00")'El resultado es: 007.80MsgBox WorksheetFunction.Text (7.8, "000.00")'El resultado es: 007.80Formato de MsgBox (7.8, "###. ##")'El resultado es: 7.8MsgBox WorksheetFunction.Text (7.8, "###. ##")El resultado es: 7.8End Sub |