Ich möchte Daten von einer Website abrufen, speichern Sie es in einer Zeichenfolge und verwenden Sie Zeichenfolgenfunktionen, um es in Zeilen und Spalten: Komma ist für Spalten und Semikolon ist neue Zeile.VBA mit zwei Methoden und die Weitergabe von Daten
habe ich die beiden Methoden getrennt und sie arbeiteten, aber sie arbeiten nicht so:
gettse()
soll Daten in einer Zelle abzurufen, und split2()
die Zeichenfolge trennen sollte. Wenn ich jede Methode ausführen, funktionieren sie gut. Natürlich verwende ich split1()
, die split2()
ähnlich ist, aber kein Argument hat und von cell(1,1)
gelesen.
Könnten Sie bitte sagen, was das Problem dieses Codes ist, der beide verwendet.
Meine Vermutung war, dass es von der Geschwindigkeit des Internets abhängt, und wenn es Daten abruft, hat die zweite Methode bereits ausgeführt. Ich habe eine Verzögerung von 5 Sekunden gebraucht, aber es hat nicht funktioniert.
Sub main()
gettse
Dim data As String
data = Sheet1.Cells(1, 1).Value
split2 (data)
End Sub
Sub gettse()
Set shFirstQtr = Workbooks(1).Worksheets(1)
Set qtQtrResults = shFirstQtr.QueryTables _
.Add(Connection:="URL;http://www.tsetmc.com/tsev2/data/ClientTypeAll.aspx", _
Destination:=shFirstQtr.Cells(1, 1))
With qtQtrResults
.WebFormatting = xlNone
.WebSelectionType = xlSpecifiedTables
.WebTables = "1"
.Refresh
End With
End Sub
Sub split2(data As String)
Dim aColumns, aRows
Dim x As Long
aRows = split(data, ";")
For x = 0 To UBound(aRows)
aColumns = split(aRows(x), ",")
Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(1, UBound(aColumns) + 1) = aColumns
Next
End Sub
Was das Problem ist, wird es einen Fehler werfen oder Ihre tatsächlichen Ergebnis anders als erwartetes Ergebnis, wenn ja, können Sie Beispieleingabe und erwartete Ausgabe teilen? – Siva
In Ihrem letzten Beitrag habe ich darauf hingewiesen, dass es wahrscheinlich aufgrund der Überlappung der Datenquelle, die in Ihrem Screenshot darunter angezeigt wird, funktioniert Ihr geteilter Code, und ich habe gerade mit einer anderen Datenquelle repliziert und es überlappt nicht, versuchen Sie Ihren Einfügen in ein anderes Blatt. –
sagst du, dass wenn du main() ausführst, es nicht die anderen zwei Subs laufen lässt? –