Referencia "variable"

Hola, me llamo Javier y tengo una duda desde hace tiempo. Tengo creados distintos libros con la misma estructura, pero con distintos datos (p. Ej. 001.xls, 002.xls, 003.xls, etc.) y tengo creado otro libro (p. Ej. Libro2.xls) en el que quiero realizar cálculos entre celdas de los libros anteriores. Mi pregunta es: ¿Cómo podría hacer referencia en una celda de Libro2 al libro que quiero abrir?. Es decir, ¿podría p. Ej. En la celda A1 de Libro2 poner el nombre del libro que quiero abrir (001, 002 o 003) y en el resto de las celdas de Libro2 vincular datos (p.ej. ='[001.xls]hoja1'! $D$34) que sean del libro que he especificado en la celda A1?. No sé si me he explicado muy bien, de todos modos gracias.

1 respuesta

Respuesta
1
No conozco alguna función que haga eso, pero se puede hacer muy bien con una macro, su nunca haz hecho una mejor te mando el ejemplo, escribe a [email protected] si ya haz hecho, será suficiente con los datos que te doy a continuación...
En la hoja donde tengas los vínculos, agrega el siguiente código..
Option Explicit
Const strRuta1 As String = "='D:\Archivos LYM\EXCEL\Ejemplos\Ayudas\["
Const strRuta2 As String = ".xls]Hoja1'!$A$1"
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Range("C1").Formula = strRuta1 & Range("B1").Value & strRuta2
End If
End Sub
En donde strRuta1 es la ruta del archivo, ojo, fíjate como esta construida
y strRuta2 es la parte final del vinculo, fíjate como esta construida
En la celda B1 de la hoja, es donde pongo el nombre del libro del cual quiero extraer los datos, por supuesto el nombre del libro debe ser el correcto, sino te dará error, claro, esto se puede prevenir...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas