¿Cómo obtener datos de la web utilizando valores de celda para ensamblar la URL de la que extraer? Obtener datos de la web utilizando referencias de celda

¿Cómo obtener datos de la web utilizando valores de celda para ensamblar la URL de la que extraer? Obtener datos de la web utilizando referencias de celda

¿Cómo obtener datos de la web utilizando valores de celda para ensamblar la URL de la que extraer?

¿Cómo obtener datos de la web utilizando valores de celda para ensamblar la URL de la que extraer?

¿Cómo hago para usar referencias de celda para ensamblar una URL que Excel pueda usar para obtener datos de la web? Básicamente, estoy intentando usar valores de celda para ensamblar una URL completa con una cadena de consulta para devolver el resultado de la consulta a otra celda.

Tengo una hoja de trabajo con URL de API en una columna y cadenas de consulta en la siguiente columna. Quiero tomar, por ejemplo, la celda $B$2 (URL) y la celda $C$2 (cadena de consulta) para obtener resultados de URL de =$B$2&$C$2

La mayoría de los resultados serían simplemente un valor numérico y no tendrían que interpretarse, mientras que otros resultados son similares a los resultados JSON y deben navegarse/grabarse hasta la posición correcta para obtener el resultado deseado.

Obtener datos de la web en Excel hace un buen trabajo si le doy la URL de forma nativa... pero... el problema es tratar de usar esa funcionalidad en Excel, pero en lugar de eso simplemente ensambla la URL a partir de referencias de celda en lugar de ingresarla. la URL de forma nativa en la que se obtienen datos del formulario web.

¿Algunas ideas? Gracias

Editar:
me comuniqué con uno de mis antiguos profesores que enseñaba Excel, dijo que no estaba seguro, pero sugirió que un script VBA podría ser una opción.

Respuesta1

Hasta donde tengo entendido, tendrás que crear una tabla de consulta para cada fila, porque la URL de datos para cada fila será diferente/única. Alternativamente, puede usar una única tabla de consulta e iterar sobre todas las filas, actualizar la URL de conexión de la tabla en cada iteración y recuperar los datos obtenidos en la fila apropiada, usando un fragmento de VBA como el siguiente (descargo de responsabilidad: no he probado esto ):

' assuming your data starts at row 2
i = 2
Do While Not IsEmpty(Sheet1.Cells(i, 2))
    url = "TEXT;" & Sheet1.Cells(i, 2) & Sheet1.Cells(i, 3)
    With Sheet1.QueryTables
        If .Count < 1 Then
            .Add url, Sheet1.Range("Z1")
        Else
            .Item(1).Connection = url
        .Item(1).Refresh
        ' assuming column D would hold the results
        Sheet1.Cells(i, 4) = Sheet1.Range("Z1")
        ' do any further manipulations of the fetched Sheet1
    End With
    i = i + 1
Loop

información relacionada