Ich schreibe ein Skript, um die Ticker anhand von Namen zu finden. Natürlich werden Unternehmen manchmal nicht so gefunden, wie sie geschrieben wurden. Der Grund dafür ist, dass die Quelle normalerweise am Ende etwas unnötiges Bit anheft. Ich versuche, mein Skript so zu schreiben, dass es wiederholt Wörter vom Ende entfernt, bis der Ticker erhalten wird. Wenn der Ticker nie erhalten wird, wählen Sie Nächste fortsetzen und die nächste Zeile aus. Gibt es eine Möglichkeit, dies zu tun?Aufgabe wiederholen, bis kein Fehler mehr auftritt. Vba
Sub TickerLookup()
cell = ActiveCell.Value
10 If Not IsEmpty(ActiveCell.Value) Then
GoTo GetTicker
Else
GoTo 20
End If
Catch:
For Each c In Selection
If Not IsEmpty(c.Offset(, -1)) Then
cell = Left(cell, InStrRev(cell, " ") - 1)
MsgBox cell
Else
MsgBox "Please clear all adjacent cells"
End If
Next
Resume Next
Selection.Offset(1, 0).Select
GoTo 10
GetTicker:
cell = ActiveCell.Value
'remInc = Replace(cell, "INC", "")
'remCos = Replace(remInc, "COS", "")
cmpnyName = cell
ticker = "http://dev.markitondemand.com/MODApis/Api/v2/Lookup/json?input=" & cmpnyName
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "GET", ticker
MyRequest.Send
Dim Json As Object
Set Json = JsonConverter.ParseJson(MyRequest.ResponseText)
On Error GoTo Catch
ActiveCell.Offset(, -1).Value = Json(1)("Symbol")
Selection.Offset(1, 0).Select
GoTo 10
20 End Sub
'Goto' ?? "Ja wirklich?" Das ist soooo achtzig ... – trincot
Sie müssen nur das "Err" -Objekt testen und dann entsprechend handeln, obwohl dies wie ein kleines XY-Problem aussieht - ich wette, es gibt einen viel besseren Weg, nur Ihre Daten zu testen. –