2012-02-21 18 views
7

Estoy tratando de formatear una fecha en Excel con VBA, el mes actual debe estar en formato mmm. De alguna manera estoy recibiendo el mes anterior, en lugar del mes actual. Lo he verificado y el mes de mi computadora es febrero, pero en su lugar recibo a Jan.¿Cómo puedo formatear un mes en formato mmm?

Este es mi código:

Cells(1, 2) = Format(month(Date), "mmm") 

Respuesta

15

Sólo formato a la fecha actual directamente, es decir

Cells(1, 2) = Format(Date, "mmm") 
+1

Gracias. Funciona. – user1199080

+1

+1 Directo y simple! –

13

Usted está formatear la fecha 1/1/1900

Me explico:

  • Date vale 21/02/2012
  • Month(Date) vale 1
  • Format considerará esto como una fecha tan Mes (Fecha) será 1/1/1900
  • Así Format(month(Date), "mmm") volverá Jan como el mes de 1/1/1900

Para teach you fishing, cuando se enfrentan a este tipo de problema, puede tratar de encontrar el valor de cada declaración:

  • Debug.Print (Date) vuelve 21/02/2012 lo que esta parte está bien
  • Debug.Print (Format(Month(Date), "mmm")) vuelve jan por lo que este no es un tema de las células mostrando
+2

+1 para explicar mientras que falló. Continué con mi publicación una vez que fui notificado por el tuyo ya que el mío dio una solución. – brettdj

+0

@brettdj: muy cierto ... Me centré en el problema en lugar de la solución :) – JMax

Cuestiones relacionadas