Tanto quanto eu entendo, você terá que criar uma tabela de consulta para cada linha, porque o URL de dados para cada linha será diferente / exclusivo. Como alternativa, você pode usar uma única tabela de consulta e iterar em todas as linhas, atualizando o URL de conexão da tabela em cada iteração e recuperando os dados buscados na linha apropriada, usando um snippet do VBA como o seguinte (isenção de responsabilidade: não testamos isso ):
' 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