** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Referencia a hojas con nombre variable
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoReferencia a hojas con nombre variable

 Responder Responder
Autor
Mensaje
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton Jail
Estado: en línea
Puntos: 3559
Enlace directo a este mensaje Tema: Referencia a hojas con nombre variable
    Enviado: 27/Enero/2009 a las 10:35
Buenos días:
 
Tengo una fórmula que hace referencia a otra hoja

=BUSCARV($C14;'Tarifas 2006'!$B$4:$E$62;3;FALSO)

Esto busca en la hoja Tarifas 2006 donde tengo las tarifas del personal.

Ahora bien, quiero hacer esto de forma dinámica, es decir que puedo tener una hoja llamada "Tarifas 2006" o "Tarifas 200" o "Tarifas 20XX"

En otro campo de la hoja, tengo un campo año (por ejemplo en K3)

Quiero poder generar el nombre de la hoja donde debe buscar en función de K3

Es decir quiero que si en K3 pone 2008 me busque en la hoja "Tarifas 2008" y si pone 2009 busque en la hoja "Tarifas 2009" y así sucesivamente.

Cuando intento general el nombre de la hoja concatenando "Tarifas " & K3 me dice que ni hablar (obviamente) y tengo varios cientos de fórmulas similares a esta, de forma que auque puedo al principio de cada año modificarlas todas, lo ideal sería poder hacerlo variable.

¿Alguien tiene una idea de como puedo generar este tipo de búsqueda?

Un saludo

 
 
Luis
Arriba
Coco Ver desplegable
Colaborador
Colaborador


Unido: 02/Febrero/2005
Localización: España
Estado: Sin conexión
Puntos: 2718
Enlace directo a este mensaje Enviado: 27/Enero/2009 a las 10:49
Hola Luis Tongue
 
me temo que no veo la obviedad por ningún sitio, o me he enterado de nada.
 
Esta prueba a mi me funciona sin problema alguno
 
Sub Prueba()
Dim i As Long
For i = 1 To 3
   Debug.Print Worksheets("Hoja" & i).Name
Next i
End Sub
 
y devuelve
 
Hoja1
Hoja2
Hoja3
Saludos
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton Jail
Estado: en línea
Puntos: 3559
Enlace directo a este mensaje Enviado: 27/Enero/2009 a las 10:52
Perdón, no he añadido que es SIN macros, solo con fórmulas.
 
Luis
Arriba
Coco Ver desplegable
Colaborador
Colaborador


Unido: 02/Febrero/2005
Localización: España
Estado: Sin conexión
Puntos: 2718
Enlace directo a este mensaje Enviado: 27/Enero/2009 a las 11:01
En ese caso, haz como si no hubiera dicho ni pio Wink, por que en lo que a formulación se refiere, si me sacas de las cuatro reglas ...
Saludos
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton Jail
Estado: en línea
Puntos: 3559
Enlace directo a este mensaje Enviado: 27/Enero/2009 a las 11:53
Resuelto, consiste en usar la función INDIRECTO
 
=BUSCARV($C14;INDIRECTO("'Tarifas "&K3& "'!$B$4:$E$62");3;FALSO)
 
Me doy por resuelto.
 
Luis
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5636
Enlace directo a este mensaje Enviado: 27/Enero/2009 a las 13:08
¡Me alegro! Wink
 
Te habia preparado:
 

1.- Defines un nombre para cada rango de Tarifas (cada año).
          P.e. 'Tarifas 2006'!$B$4:$E$62 = Tar2006,   'Tarifas 2007'!$B$4:$E$62 = Tar2007,   etc.
2.- en [K3]  Tar2006     (a posteriori modificarás el 6 por 7, por 8, …)
3.- Cambia la fórmula a: =BUSCARV($C14;INDIRECTO(K3);3;FALSO)
 
 
 
Aprendemos intentando resolver dudas ajenas (ayuda cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable