Trabajar en VBA Excel2016 formato de fecha MMM-YY para cargarlo correctamente en la planilla en N repeticiones

Estoy trabajando con Excel 2016 VBA, tengo problemas para lograr que VBA grabe correctamente una fecha en formato MMM. YY, tengo que realizar la carga secuencial de 12 o más registros y lograr que en cada uno se grabe la fecha en formato mmm-yy correctamente logro que lo haga solo en los meses Diciembre, Enero, abril y agosto el resto de la secuencia sale con formato mmm-18 cuando debería ser 19

Utilizo este código para generar las fechas en formato mmm-yy y la asignación a cada renglón de la planilla Excel 2016

Antes de entrar en el ciclo le asigno Date a Date1 para que comineze la serie

Date1 = DateAdd("M", 1, Date1) le sumo un mes a la fecha en las pasadas que hagan falta

MesAno1 = Format(Date1, "mmm-yy") asigno la fecha actualizada con formato mmm-yy

Cells(F, C). Formula = MesAno1 Asigno a la celda (F, C) correspondiente el valor actualizado

          C = C + 1

Así queda grabado en la planilla Excel

Dic-18

Ene-19

Feb-18

Mar-18

Abr-19

May-18

Jun-18

Jul-18

Ago-19

Sep-18

Oct-18

Nov-18

1 respuesta

Respuesta
1

[Hola

No mencionas si quieres que quede solo ese texto en las celdas o si no tienes problema con que en la celda queden las fechas. Si no tienes problemas mira esto:

Dim Mifecha As Date
Dim x As Integer
Let Mifecha = #12/1/2018#
For x = 1 To 12
    Range("D" & x).Value = Mifecha
    Range("D" & x).NumberFormat = "mmm-yy"
    Mifecha = DateAdd("m", 1, Mifecha)
Next x

Ah, ojo, al dar valor a "Mifecha" se ingresa como "dd/mm/yyyy". He supuesto 12 meses en la columna D.

Si quieres que quede solo el texto puede usar esto:

Dim Mifecha As Date
Dim x As Integer, a
Let Mifecha = #12/1/2018#
For x = 1 To 12
    Range("D" & x).Value = "'" & Format(Mifecha, "mmm-yy")
    Mifecha = DateAdd("m", 1, Mifecha)
Next x

Comentas

Abraham Valencia

Hola Abraham, primero agradezco tu respuesta, te comento que utilice la segunda opción ya que lo que necesito es el texto mmm-yy para agrupar distintos pagos que correspondan al mes/año seleccionado.

El problema se produce en el preciso momento de la asignación a la celda, puse un msgbox antes de realizar esta operación y las fechas son correctas pero al verlas en las celdas los meses con correctos pero los años no, como pasa del 2018 al 2019 en algunos meses (Enero Abril), respeta el año 2019 en el resto le pone el año 2018, no si el problema es el formato de la celda (mmm-yy), tal vez tendría que tener otro formato, que opinión te merece esto último, desde ya te agradezco tu conocimiento y el tiempo que me dispensas en la respuesta, saludos y felices fiestas

Si elegiste la segunda opción debes haber notado que hay un apostrofe que se inserta delante del "mes-año", para que te haya vuelto a ocurrir el dilema debes haber quitado la parte en que se inserta dicho apostrofe. Si en realidad lo que quieres es hacer operaciones/Filtros/Etc. con esas fechas, en realidad el ideal es la primera opción.

Ah, y tu dilema ocurre por una cuestión de formato automático del Excel que NO se puede evadir como lo has intentado por más que uses "Format" o cambies el formato de la celda. Entonces las soluciones son las dos que te he planteado. Espero se entienda.

Saludos]

Abraham Valencia

¡Gracias!  Abraham, es como dijiste me falto ingresar el apostrofe, con tu sugerencia logre superar este inconveniente y puedo continuar con el desarrollo, te estoy muy agradecido por compartir tu conocimiento y permitirme encontrar la solución.

Quería saber si es posible que en futuras dudas o atascos pueda consultarte nuevamente para que me des una mano

Desde ya te agradezco mucho y espero pases una felices fiestas

Saludos Adrian Lorenzo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas