No estoy seguro de si esto es posible en Excel, pero esto es lo que necesito hacer:

Tengo una columna con una lista de hoteles y luego otra columna que necesita extraer datos del archivo de Excel de cada hotel individual. Por ejemplo, la celda A2 tendrá el nombre "París" para el hotel y luego la celda B2 tendrá el enlace:

  ='G:\Hotels\Paris\Paris - Monthly\[Paris_summary_2018.xlsm]Feb'!$CD$89

Tengo muchos hoteles para los que necesito hacer esto en diferentes hojas. Entonces, necesito que el enlace se refiera dinámicamente a cualquier hotel que esté en la columna A y el título de la hoja, por ejemplo, ¿podría hacer algo como esto?

=''G:\Hotels\A2\A2 - Monthly\[A2_summary_2018.xlsm]Feb'!$CD$89

Donde A2 tiene la cadena "Paris". También hay una manera de referirse dinámicamente a "Feb" dependiendo de la hoja en la que esté, el mes será el título

También estoy abierta a usar VBA para esto.

0
Sorath 14 feb. 2018 a las 14:24

2 respuestas

La mejor respuesta

Siempre que no le importe usar VBA, puede generar fácilmente los enlaces con algo como esto:

Sub generate_hotel_links()
    Dim r As Range, c As Range
    Dim s As String
    ' This is the range which all the hotel-locations are in
    Set r = ThisWorkbook.Worksheets("Sheet1").Range("A1:A10")
    On Error Resume Next
    For Each c In r
        ' Generate the formula based on the current cell we are in
        s = "=" & Chr(39) & "G:\Hotels\" & CStr(c) & "\" & CStr(c) & " - Monthly\[" & CStr(c) & "_summary_2018.xlsm]Feb" & Chr(39) & "!$CD$89"
        ' ...and put it in the neighbouring cell
        c.Offset(0, 1).Formula = s
    Next c
    On Error Goto 0
End Sub

On Error Resume Next hará que la macro continúe sin importar qué error aparezca; el caso ideal sería un manejo de errores más sólido o una verificación de si el libro / hoja de trabajo realmente existe antes de intentar escribir la fórmula, pero lo haré deje que usted intente escribir esto si siente la necesidad de mejorar la macro.

Si solo desea usar fórmulas genéricas de Excel, le aconsejo que eche un vistazo a la pregunta y las respuestas que publiqué en los comentarios a su pregunta.

0
eirikdaude 16 feb. 2018 a las 08:19

No estoy segura de si puedes usar HYPERLINK.

Así:

=HYPERLINK("G:\Hotels\"&A2&"\"&A2&" - Monthly\["&A2&"_summary_2018.xlsm]Feb!"&$CD$89)
0
antonioplacerda 14 feb. 2018 a las 11:31