Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Formato de fecha y hora en Excel

.

MASTERCARD PAYONEER

Como dar formato de fecha y hora, como se puede sumar, restar, multilpicar y dividir fechas y horas; es una pregunta que su respuesta a veces da muchos dolores de cabeza, en este tutorial voy intentar aclarar como dar formato de fecha y hora, antes de introducirnos en el tema voy a explicar como trabaja Excel las fechas y horas; las operaciones matemáticas que se pueden realizar con fechas y horas son tratadas en mi otro tutorial sobre funciones de fecha y hora incorporadas en Excel, en  funciones de fecha y hora y su traducción al inglés y otros  idiomas se encuentra la descripción de cada función y su traducción a distintos idiomas.

Excel es una planilla de cálculo muy versátil que nos permite trabajar con valores de fecha y horas pudiendo hacer distintos cálculos, como sumar, restar, dividir y multiplicar; para que esto sea posible le asigna números a las distintas fechas y horas, la unidad de medida, en este caso de tiempo, para Excel, es el día; este artilugio le permite realizar cálculos de fechas y horas como si estuviera trabajando con valores numéricos.

Si estás usando macros para automatizar tu libro de Excel seguramente te es necesario saber seleccionar o referenciar celdas, en FORMAS DE SELECCIONAR O REFERENCIAR CELDAS CON VBA (Spanish Edition) encontrarás una excelente ayuda; si trabajas con fechas en Excel, fíjate en el siguiente link que te puede ser de utilidad FORMATOS Y FUNCIONES DE FECHA Y HORA DE MICROSOFT EXCEL (Spanish Edition)

  

Como podemos apreciar en la imagen en la columna C está el rango mínimo y máximo que se puede introducir para que Excel lo interprete como fecha en formato número; en la columna D se encuentra en formato fecha; es decir que para que Excel tome un número como fecha, ya que habíamos dicho que Excel asigna número a las distintas fechas, tiene que estar entre el 1 y el 2.958.465, siendo el día 1 el 01/01/1900 y el día 2.958.465 el 31/12/9999.

Ahora sabemos como maneja Excel los días; si se introduce un número cualquiera, por ejemplo 41563 lo que hace Excel es determinar que día representa, teniendo en cuenta la cantidad de días entre la fecha inicial y la fecha introducida en la celda, para este caso representa el 16/10/2013; siguiendo con los ejemplos el 41395 representa el 01/05/2013, que es la cantidad de días entre el 01/01/1900 y el 01/05/2013; para ahondar en el tema y viéndolo desde otro punto de vista, si se introduce en la celda 12/01/2013, se corresponde con el número 41286 que como ya dijimos representa el número de días entre el 01/01/1900 y el 12/01/2013.

Que sucede con las horas, ya que como habíamos mencionado la unidad de medida es el día, como es de suponer, Excel las toma como número que va entre cero y uno representando el cero las 00:00 horas de la noche y el uno las 24:00 horas de ese día; las horas intermedias son una fracción o porción del día, por ejemplo el 0,5 representa las 12:00 horas; el 0,7 las 16:48 y el 0,33 las 07:55:12.

Sabemos que Excel asigna números que representan a distintas fechas y de este modo establece que fecha fue introducida en la celda, ahora nos preguntamos, pero como se introduce una fecha o una hora determinada, es indistinto que introduzcamos la fecha que queramos o el número que la representa, lo que sucede que en este último caso es bastante engorroso y poco práctico determinar que número equivale a tal o cual fecha en Excel, tendríamos que ponernos a contar los días desde el 01/01/1900, lo que lo torna muy poco práctico; entonces para que Excel interprete que lo que introducimos es una fecha deberíamos introducirlo con el siguiente formato:

Ej NºFormatoVisualizado
en Pantalla
1d/mm/aa 01/02/2013
2d-mmm-aa01-oct-13
3d-mmm01-oct
4mmm-aa

oct-13
5
h:mm                                            
22:30
6
h:mm 
AM/PM               
   
10:30
p.m.
7
h:mm:ss                                       
22:30:15
8
h:mm:ss 
AM/PM                      
10:30
a.m.
9
mm:ss,0                                   
52:48,2
10
mm:ss,00                                    
52:48,20
11
[h]:mm:ss                 
    
108:45:35
12
d/mm/aa 
h:mm
12/10/2013
0:00
13
d/mm/aa 
h:mm  PM
18/10/2013
05:25 p10

Es decir introduciendo en el caso uno 1/02/13, excel interpreta que es el 01/02/2013, acá hay que hacer una salvedad ya que en inglés el mes va primero y al medio va el día es decir en ínglés sería 02/01/2013 siendo el mes dos día uno de 2013.

En el caso dos, vemos que si se introduce el caracter «-» (guión), Excel también interpretará que se intenta introducir una fecha y le dará formato de fecha en este caso 01-oct-13 que significa 01/10/2013 ó en inglés 10/01/2013.

Si se omite el año, pero se introduce el carácter «/» ó «-«, Excel interpretará que se está tratando de introducir una fecha y por defecto le asignará el año del sistema; lo mismo sucede si se introduce solo el mes y año pero alguno de estos caracteres  «/» ó «-«, interpretará que el día por defecto es el 1.

Veamos ahora que sucede cuando se pretende ingresar una hora en vez de un día en especial; como regla general para que Excel interprete que se quiere ingresar una hora se debe introducir el carácter «:» (dos puntos).

Seguidamente se explica lo que se visualiza cuando se utilizan los distintos caracteres para establecer los formatos de fecha y hora; se debe tener en cuenta que si se quiere expresar las horas en forma absoluta, es decir cuando se quiere mostrar más de 24 horas, 60 minutos ó 60 segundos, se debe usar corchetes ([ ]), estos se deben utilizar encerrando el primer caracter, ejemplo: [h]:mm:ss, [mm]:ss, [ss], ahora bien si el corchete es usado en otra posición distinta al primer caracter  (h:[mm]:ss), Excel  no reconocerá el formato pretendido reconociendo el dato ingresado como formato h:mm:ss.

Formato                                         Visualización
d  

                        

Numero de día no precedido de
cero (1-31)                              
dd                          
Numero de día precedido de cero (01-31              
ddd    
Abreviatura del día de la semana
abreviado ( lun-dom)
dddd                    
Nombre completo del día de la
semana ( lunes-domingo )
m                           
Numero del mes no
precedido de cero ( 1-12)
mm                        
Numero del mes precedido de cero (01-12)
mmm                     
Abreviatura del
mes (ene-dic)
mmmm                  
Nombre completo del
mes (enero-diciembre)
aa                          
Últimos dos dígitos
del año (00-02 )
aaaa
yy
yyyy                      
Numero del año
completo (1900-2002)
Últimos dos dígitos del año (00-02 )  en inglés
Numero del año completo (1900-2002) en inglés
h        
Hora no precedida de
cero ( 0-23 )
hh                          
Hora  precedida
de cero (00-23 )

    m                           
    Minutos no precedidos
    de cero (0-59 )
    mm                        
    Minutos precedidos de
    cero (00-59 )
    s                            
    Segundos no
    precedidos de cero (0-59 )
    ss                          
    Segundos precedidos
    de cero (00-59 )
    s,0                         
    Segundos no
    precedidos de cero y décimas de segundo
    s,00                       
    Segundos no
    precedidos de cero y centésimas de segundo
    ss,0     
                    
    Segundos precedidos
    de cero y décimas de segundo
    AM/PM                  
    Hora con notación
    AM/PM
    am/pm                  
    Hora con notación
    am/pm
    A/P                       
    Hora con notación A/P
    a/p                        
    Hora con notación a/p
    [
    ]
                             
    Si se encierra el
    código con corchetes, se obtiene el tiempo absoluto  

    Lo expuesto en el cuadro anterior es extremadamente necesario cuando se requiere dar un formato personalizado, por ejemplo en caso que queramos  que la fecha se muestre en la celda de la siguiente manera: «Miami, Sábado 13 de Diciembre de 2013», debemos utilizar el siguiente formato personalizado «»Miami,» dddd dd «de » mmmm «del año «yyyy», el resultado es el que se ve en la imagen de la derecha.

    Respecto al ultimo caso se pueden encerrar entre corchetes para mostrar mas de 24 horas, mas de 60 minutos o más de 60 segundos en un dato de tiempo.

    Para dar formato de fecha y hora, se debe seleccionar la celda a formatear, luego ir al menú formato, luego formato de celdas y por último elegir el formato que se desea dar, en el caso del formato de fecha y hora, se puede elegir formato de fecha, formato de hora o formato personalizado, en la imagen se muestra lo explicado.

    Para finalizar el tema es necesario aclarar un poco más el tema de uso de [ ] (Corchetes) en los formatos de fecha y hora, como se expuso, los corchetes se usan cuando se desea mostrar más 24 horas, más de 60 minutos ó más de 60 segundos, lo mencionado interpreto que va a quedar más claro con un ejemplo, los corchetes siempre se usan  encerrando el primer código, si se colocan en otra lugar no serán tenidos en cuenta por Excel.

    En el caso que no tengas conocimiento suficiente sobre el manejo de hojas  de Excel,  te  recomiendo que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá.

    Cuando se está programando una macro es necesario en varias oportunidades dar formato de fecha y hora a cierta celda, planteándose el interrogante sobre como darle mediante código de VBA formato de fecha y hora a una celda; ello se hace con el  siguiente código:

    Format(Sheets(«parametros»).Cells(2, 4), » dddd, dd/mm/yyyy»)

    Lo que estamos haciendo es dar formato de fecha y hora a la hoja «parametros», «fila 2», «columna d», visualmente tendría el siguiente resultado «jueves, 07/11/2013», aquí se usa plenamente todo lo expuesto sobre el formato de fecha y hora desarrollado en el post, con la diferencia que se ingresa en código de VBA, se debe tener presente que el comando format sirve para todo formato, no solo el formato de fecha y hora que uno de los formatos posibles que se puede dar dentro del abanico de formatos que se pueden dar en Excel, un ejemplo se observa  como se utiliza format para dar formato de porcentaje, que es otro tipo de formato posible.

    Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página.


    .

    If this post was helpful INVITE ME A COFFEE and so help keep up the page.

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