Macro da distintos formato número a celdas





Anteriormente se presentaron post que permitían dar formato a fuentes de Excel, formato a celdas de excel, establecer el alto ancho ocultar filas y columnas, ahora muestro un ejemplo de macro que permite dar a las celdas de Excel distintos tipos de formato de números.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Al descargar el archivo de ejemplo encontrarás una macro que permite dar distintos tipos de formato de número a las distintas celdas de la columna C; presionando el primer botón se da formato al rango C1:C18, presionando el botón quitar formato, quita el formato establecido.

Los distintos formatos que se usan en el ejemplo, son los más usados, entre ellos tenemos:

Otorga formato de número con separador de miles y tres decimales

a.Range("C2").NumberFormat = "#,##0.000"

Otorga formato de número con separador de miles y cinco decimales y color rojo cuando el número es negativo.

a.Range("C3").NumberFormat = "#,##0.00000_ ;[Red]-#,##0.00000 "

Formato con el símbolo $, separador de miles y tres lugares decimales

a.Range("C4").NumberFormat = "$ #,##0.000"

Formato de doláres estadounidenses, dos lugares decimales y separador de miles

a.Range("C5").NumberFormat = "[$USD] #,##0.00"

Formato de Euro con dos lugares decimales y separador de miles

a.Range("C6").NumberFormat = "#,##0.00 ""€"""

Formato Contabilidad que alinea el símbolo de moneda a la izquierda.

a.Range("C7").NumberFormat = _
"_ [$€-2] * #,##0.00000_ ;_ [$€-2] * -#,##0.00000_ ;_ [$€-2] * ""-""?????_ ;_ @_ "

Formato de fecha que se modifica con los cambios en la configuración regional de fecha de cada País.
a.Range("C8").NumberFormat = "m/d/yyyy"

Formato de fecha que no se modifica con los cambios en la configuración regional de fecha de cada País.
a.Range("C9").NumberFormat = "dd/mm/yyyy;@"

Formato de fecha que no se modifica con los cambios en la configuración regional de fecha de cada País el formato de fecha tiene guiones en vez de barra.

a.Range("C10").NumberFormat = "yyyy-mm-dd;@"

Formato de fecha larga que no se modifica con los cambios en la configuración regional de fecha de cada País.
a.Range("C11").NumberFormat = "[$-2C0A]dddd, dd"" de ""mmmm"" de ""yyyy;@"

Formato de fecha larga que se modifica con los cambios en la configuración regional de fecha de cada País
a.Range("C12").NumberFormat = "dddd, dd"" de ""mmmm"" de ""yyyy"

Formato de hora antes del meridiano (AM), pasado el meridiano (PM)

a.Range("C13").NumberFormat = "[$-F400]h:mm:ss AM/PM"


Formato de hora que no se modifica con los cambios en la configuración regional de fecha de cada País.

a.Range("C14").NumberFormat = "hh:mm:ss;@"

Formato de hora que no se modifica con los cambios en la configuración regional de fecha de cada País.
a.Range("C15").NumberFormat = "[$-2C0A]hh:mm:ss AM/PM;@"

Formato porcentaje.

a.Range("C16").NumberFormat = "0.00000%"

Formato porcentaje.

a.Range("C17").NumberFormat = "# ??/??"

Formato fecha personalizado donde se muestra la fecha y hora del lugar.

a.Range("C18").NumberFormat = "m/d/yyyy h:mm"

Descarga desde el link del final GRATUITAMENTE este ejemplo de macro que da distintos tipos de formato de fecha y hora a celdas de Excel; ingresando a  la página web de programar Excel http://programarexcel.com/p/home.html, encontrarás cientos de ejemplos de macros y tutoriales que te permitirán automatizar tus hojas de cálculo; en caso de ser útil considera la posibilidad de aportar y con ello ayudarás a seguir manteniendo el sitio.

Suscribe al blog para recibir en tu correo todas las actualizaciones, dispones también de un canal de You Tube donde encontrarás explicaciones de macros con mayor detalle.

Suscribe a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlas, buscar en listbox mientras escribes en textbox, ordenar hojas libro excel por su nombre, conectar Excel con Access y muchos ejemplos más.








Código que se inserta en un módulo



Sub FormatoNumeros()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
nom = ActiveSheet.Name
Set a = Sheets(nom)
On Error Resume Next
a.Range("C2").NumberFormat = "#,##0.000"
a.Range("C3").NumberFormat = "#,##0.00000_ ;[Red]-#,##0.00000 "
a.Range("C4").NumberFormat = "$ #,##0.000"
a.Range("C5").NumberFormat = "[$USD] #,##0.00"
a.Range("C6").NumberFormat = "#,##0.00 ""€"""
a.Range("C7").NumberFormat = _
"_ [$€-2] * #,##0.00000_ ;_ [$€-2] * -#,##0.00000_ ;_ [$€-2] * ""-""?????_ ;_ @_ "
a.Range("C8").NumberFormat = "m/d/yyyy"
a.Range("C9").NumberFormat = "dd/mm/yyyy;@"
a.Range("C10").NumberFormat = "yyyy-mm-dd;@"
a.Range("C11").NumberFormat = "[$-2C0A]dddd, dd"" de ""mmmm"" de ""yyyy;@"
a.Range("C12").NumberFormat = "dddd, dd"" de ""mmmm"" de ""yyyy"
a.Range("C13").NumberFormat = "[$-F400]h:mm:ss AM/PM"
a.Range("C14").NumberFormat = "hh:mm:ss;@"
a.Range("C15").NumberFormat = "[$-2C0A]hh:mm:ss AM/PM;@"
a.Range("C16").NumberFormat = "0.00000%"
a.Range("C17").NumberFormat = "# ??/??"
a.Range("C18").NumberFormat = "m/d/yyyy h:mm"

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Sub BorraFormato()
Range("C1:C18").ClearFormats
End Sub


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends