Una manera de formatear fechas con VBA es el uso de una serie de personajes "m" para indicar los nombres largos de meses . Por ejemplo , el formato " mmmm " producirá sólo la enunciados texto " diciembre", si la fecha está dando formato es en diciembre. Si quieres un mes de tres letras , el uso " mmm ", como en " Selection.NumberFormat =" mmm dd, yyyy " " para fechas como " diciembre 31 , 1966 . " Observe el uso del carácter" d "para representar el día .
Formatos cortos
Si desea que los números en lugar de enunciados del texto para las fechas , use sólo uno o dos caracteres de formato para el mes . Por ejemplo, escriba " Selection.NumberFormat = " mm /dd /yyyy " " para fechas como " 31/12/1966 ". Porque " 12/66 ", utilice la cadena de formato "mm /yy ", o simplemente" m /y ".
Fechas con día de la semana
Para dar formato a una cita con un día de enunciados , utilice cuatro caracteres "d" para indicar el día . Por ejemplo, escriba " Selection.NumberFormat =" dddd, mmm dd, yyyy " " para fechas como " Sábado, 31 de diciembre 1966 . " Para abreviar el día sin necesidad de utilizar números, utilizar tres caracteres " d" en vez de cuatro , como en " ddd, mmm dd , yyyy ".
Formatos de fecha personalizados
puede crear un formato de fecha personalizado en VBA utilizando cualquier delimitador además de las comunes de " /" y " - ". Por ejemplo , puede utilizar una declaración como " Selection.NumberFormat =" dd mm ~ ~ yy " " para producir las fechas como " , 12 ~ 31 ~ 66 " Usted puede elegir un formato tal costumbre por el simple hecho de estilo, o para preparar sus cadenas de fecha para los programas que requieren caracteres específicos para su entrada
programa de ejemplo . .
El siguiente programa de ejemplo VBA le permite probar rápidamente diferentes formatos de fecha . Pega el programa en el entorno de programación VBA , que puede introducir con la tecla " Alt" y " F11 " al mismo tiempo después de abrir Excel. Después de ejecutar el programa con la tecla " F5 ", escriba un formato de fecha en la que se le solicita, por ejemplo, " mm /dd /aa. " El programa mostrará la fecha actual en el formato especificado.
Sub FormatDates () Dim fmt , s1fmt = InputBox ( " Escriba el formato de fecha ") s1 = formato (Ahora, fmt ) MsgBox s1End Sub