Excel - Palabra en fórmula dependiente de nombre de una Hoja o un Archivo

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Palabra en fórmula dependiente de nombre de una Hoja o un Archivo

Publicado por Gustavo (9 intervenciones) el 28/03/2019 13:25:54
Buen día.
Armé un archivo con el nombre del mes en cada hoja para registro de kilometrajes y rendimientos.
Debo trasladar el último kilometraje del mes anterior (Hoja anterior) al registro del nuevo mes (Hoja siguiente).
En celda D1, como muestra la imagen, pongo la fórmula =MAX(MARZO!$D$7:$D$37), donde D1 pertenece a la Hoja "ABRIL" por lo que el dato del MAX se tomará de la hoja anterior "MARZO".
Hasta aquí todo bien, el tema es que quiero hacer que la palabra "MARZO", dentro de la fórmula, dependa del nombre de la Hoja anterior.
Para saber cuál es el nombre de del mes de la Hoja anterior, he colocado en celda C1 la fórmula "=ELEGIR(MES(A7)-1;"ENERO";"FEBRERO";".....", donde en A7 estará siempre el primer día del mes de registro de la Hoja activa.
Quiero entonces hacer que la palabra del "archivo" o la "hoja" que debe indicarse dentro de la fórmula de máximo en D1 para definir el rango ( "=MAX(.....!$D$7:$D$37)") la tome de la celda C1 o si hay algúna forma de tomar del nombre directo de la Hoja.
Este mismo deseo de conocer la dependencia de nombres dentro de una fórmula, lo quiero aplicar para dependencias de archivos del cual tomo datos para otro archivo y el nombre del archivo origen cambia una letra.
Espero haber sido claro y agradezco la respuesta que pueda recibir.
Consulta-dependencia-en-Excel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto
Val: 148
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Palabra en fórmula dependiente de nombre de una Hoja o un Archivo

Publicado por Norberto (46 intervenciones) el 02/04/2019 15:13:05
Hola:

Captura

Captura

El código de la función Rango es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Function Rango(NúmHoja As Integer, Dirección As String) As Range
    Dim Hoja As Worksheet
 
    If NúmHoja < 1 Then 'No hay hoja anterior
        Set Rango = Nothing 'No devolvemos nada y se producirá un error #VALOR!
        Exit Function
    End If
 
    Set Hoja = ThisWorkbook.Worksheets(NúmHoja) 'Hacemos una referencia a la hoja especificada
    Set Rango = Hoja.Range(Dirección)           'Devolvemos el rango indicado por Dirección
 
    Set Hoja = Nothing
 
End Function

Hay que pasarle dos parámetros: el número de la hoja en la que buscamos el rango y la dirección en formato texto.

Para pasar el primero, usamos la función HOJA(ref) de Excel. Esta función devuelve el número de la hoja en la que se encuentra la celda indicada. Puede ser cualquier celda de esta hoja, incluso la misma en la que se usa ya que al ser una función de información, no produce una referencia circular. Al valor devuelto le restamos 1 para hacer referencia a la hoja anterior.

El código no tiene mucho misterio.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar