Wie erhält man Daten aus dem Web mithilfe von Cell-Werten, um die URL zusammenzustellen, aus der abgerufen werden soll? Daten aus dem Web mithilfe von Zellreferenzen abrufen

2013
Levy Image

Wie erhält man Daten aus dem Web mithilfe von Cell-Werten, um die URL zusammenzustellen, aus der abgerufen werden soll?

Wie erhält man Daten aus dem Web mithilfe von Cell-Werten, um die URL zusammenzustellen, aus der abgerufen werden soll?

Wie gehe ich vor, Zellreferenzen zu verwenden, um eine URL zusammenzustellen, mit der Excel Daten aus dem Web abrufen kann? Grundsätzlich versuche ich, Zellwerte zu verwenden, um eine vollständige URL mit einer Abfragezeichenfolge zusammenzustellen, um das Abfrageergebnis in eine andere Zelle zurückzugeben.

Ich habe ein Arbeitsblatt mit API-URLs in einer Spalte und Abfragezeichenfolgen in der nächsten Spalte. Ich möchte sagen, Zelle $ B $ 2 (URL) und Zelle $ C $ 2 (Abfragezeichenfolge), um URL-Ergebnisse von = $ B $ 2 & $ C $ 2 zu erhalten

Die meisten Ergebnisse wären lediglich ein Zahlenwert und müssen nicht interpretiert werden, während andere Ergebnisse den JSON-Ergebnissen ähneln und an der richtigen Stelle zum gewünschten Ergebnis navigiert / gebrannt werden müssen.

Daten aus dem Web in Excel abrufen ist ein guter Job, wenn ich ihm die URL nativ gebe ... aber das Problem versucht, diese Funktionalität in Excel zu verwenden. Stattdessen muss die URL nur aus Zellreferenzen zusammengesetzt werden, anstatt sie einzubinden die URL nativ in das erhalten Daten aus Webformular.

Irgendwelche Ideen? Vielen Dank

Edit:
Ich wandte mich an einen meiner alten Professoren, die sich mit der Lehre unterrichteten. Er sagte, er sei nicht sicher, schlug jedoch vor, ein VBA-Skript könnte eine Option sein.

1

1 Antwort auf die Frage

1
Janaka Bandara

Soweit ich verstanden habe, müssen Sie für jede Zeile eine Abfragetabelle erstellen, da die Daten-URL für jede Zeile unterschiedlich / eindeutig ist. Alternativ können Sie eine einzelne Abfragetabelle verwenden und über alle Zeilen iterieren, die Verbindungs-URL der Tabelle in jeder Iteration aktualisieren und die abgerufenen Daten mit einem VBA-Snippet wie folgt in die entsprechende Zeile abrufen (Haftungsausschluss: nicht getestet ):

' 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