Como puedo poner el valor de una celda en Excel dependiendo de la fecha

Tengo una lista de gastos cada mes del año, (enero 150, febrero, 120 etc.) y necesito que dependiendo de la fecha actual me meta ese valor en otra celda. Por ejemplo si en enero tengo de gastos 150 y cuando abro Excel es enero necesito que ese valor me lo copie en otra celda, si es febrero cuando abro Excel que me ponga en esa celda 120 en vez de 150 y así sucesivamente.

¿Cómo puedo hacerlo?. He de decir que no tengo muchos conocimientos de Excel.

1 Respuesta

Respuesta
1

Esta función sirve para saber el gasto que tienes cada mes, el resultado saldrá en una celda, después sólo has de hacer que en la celda donde quieres copiarlo se referencie a la celda donde has puesto esta función. Ej, Si la función la has puesto en C3 y donde lo quieres es en la D7 habrías de poner en la D7, =C3. Esta es la opción fácil.

Public Function fecha_gasto(Rango_Meses As Range, Columna_Mes) As Integer
    'Esta funcion mira que mes estamos hoy
    fecha_gasto = DateTime.Month(Now())
    'Esta funcion hace lo mismo que el BuscarV
    'Has de poner el rango donde está el listado de meses
    fecha_gasto = WorksheetFunction.VLookup(fecha_gasto, Rango_Meses, Columna_Mes)
End Function

La opción difícil. Si sabes que los datos de los gastos no se van a mover usa esta opción, pero tendrás que poner los datos a mano

Private Sub fecha_gasto2()
    Dim mes_actual As Integer
    Dim rango_gastos As Range
    Dim columna_gastos As Integer
    Dim valor_gasto As Double
    'Esta funcion mira que mes estamos hoy, es un numero entre 1 a 12
    mes_actual = DateTime.Month(Now())
    'Rango donde tienes los datos de lo gastos mensuales
    'E1:F2 es un ejemplo
    'VARIABLES QUE PUEDES MODIFICAR

    '--------------------------------
    Set rango_gastos = Range("E1:F2")   'El E1:F1
    'Columna en donde tienes los datos
    columna_gastos = 2                  'El 2
    '---------------------------------
    'Esta funcion hace lo mismo que el BuscarV
    valor_gasto = WorksheetFunction.VLookup(mes_actual, rango_gastos, columna_gastos)
    Range("A1") = valor_gasto
End Sub

¡Gracias!  por intentar ayudarme pero no entiendo nada. y perdona por no contestarte antes.

 Te voy a poner el caso real para ver si me lo puedes explicar que me entere.

Los meses (enero...diciembre) los tengo en las celdas G7:G18

Los datos los tengo en H7:H18.

enero estaría en G7 y los gastos de enero en H7, febrero en G8 y los gastos en H8 y así sucesivamente.

Y quiero que dependiendo del mes actual me ponga los datos de ese mes en la celda H20

(si estamos en enero los datos de H7 me los ponga en la celda H20, si estamos en febrero los datos de H8 en H20 y así Sucesivamente.

Así cuando abra la hoja de calculo tenga en la casilla H20 los datos del mes en el que estoy.

Espero hayas entendido mi explicación y me puedas ayudar. 

Gracias de antemano

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas