Modificar una macro o fórmula existente

Necesito que me ayudes a modificar una macro que me creaste hace un par de meses. Esta macro esta conbinada con una fórmula la cual me traduce a letra el mes o meses que encuentra en numero en una celda especifica. Lo que deseo es controlar el mes que yo desee que me muestre. Ej; estamos en noviembre, si encuentra un (1) en la celda que la fórmula busca me dice que corresponde al mes de octubre, pero si deseo que escriba septiembre en lugar de octubre,¿Cómo lo haría?

La macro:

Function NumeroMeses(celda As Range)
'Por.Dante Amor
    If IsNumeric(celda.Value) Then
        num = Val(celda.Value)
        If num > 0 Then
            For i = num To 1 Step -1
                cad = cad & Format(DateSerial(Year(Date), Month(Date) - i, 1), "mmmm") & "-"
            Next
        Else
            cad = "No hay meses "
        End If
    Else
        cad = "No es un valor numérico "
    End If
    cad = Left(cad, Len(cad) - 1)
    NumeroMeses = cad
End Function

La formula:  NumeroMeses(F6)

1 respuesta

Respuesta
1

No entiendo qué necesitas.

La función recorre hacia atrás los meses que le pides.

Estamos en Noviembre

Si pones 1, el resultado es un mes hacia atrás = Octubre

Si pones 2, 2 meses hacia atrás= septiembre-octubre

Si pones 3, agosto-septiembre-octubre

¿Entonces quieres poner 1 y que te aparezca?

¿Y si pones 2?

¿Y si pones 3?

Puedes poner todos los escenarios.

Modifique esta línea:

cad = cad & Format(DateSerial(Year(Date), Month(Date) - i, 1), "mmmm") & "-"

remplace (1) por un (0) y parece que obtuve lo que deseaba, lo cual es que si encuentra un 1 me diga que es septiembre y no octubre tomando encuenta que estamos en noviembre.

Dame tu opinión al respecto por favor.

MG

Sigo sin entender qué necesitas.

En la línea, el 1 representa el 1 de un mes, si le pones considera el último día del mes.

Si el resultado que te arroja es lo que necesitas, entonces puedes aplicarlo.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas